当前位置: 首页 > news >正文

牛客NC108 最大正方形【中等 动态规划 Java,Go,PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/0058c4092cec44c2975e38223f10470e

思路

动态规划:
先初始化第一行和第一列。然后其他单元格依赖自己的上边,左边和左上角

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 最大正方形* @param matrix char字符型二维数组* @return int整型*/public int solve (char[][] matrix) {// 动态规划://先初始化第一行和第一列。然后其他单元格依赖自己的上边,左边和左上角if (matrix == null || matrix.length == 0) return 0;int n = matrix.length;int m  =  matrix[0].length;int[][] dp = new int[n][m];int ans = 0;for (int j = 0; j < m ; j++) {if (matrix[0][j] == '1') {dp[0][j] = 1;ans = 1;}}for (int i = 0; i < n ; i++) {if (matrix[i][0] == '1') {dp[i][0] = 1;ans = 1;}}for (int i = 1; i < n ; i++) {for (int j = 1; j < m ; j++) {if (matrix[i][j] == '1') {int p1 = dp[i - 1][j - 1];int p2 = dp[i][j - 1];int p3 = dp[i - 1][j];int cur = p1;if (cur > p2) cur = p2;if (cur > p3) cur = p3;dp[i][j] = cur + 1;if (ans < dp[i][j]) {ans = dp[i][j];}}}}return ans * ans;}
}

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 最大正方形* @param matrix char字符型二维数组* @return int整型*/
func solve(matrix [][]byte) int {// 动态规划://先初始化第一行和第一列。然后其他单元格依赖自己的上边,左边和左上角if matrix == nil || len(matrix) == 0 {return 0}n := len(matrix)m := len(matrix[0])dp := make([][]int, n)for i := 0; i < n; i++ {dp[i] = make([]int, m)}ans := 0for j := 0; j < m; j++ {if matrix[0][j] == '1' {dp[0][j] = 1ans = 1}}for i := 0; i < n; i++ {if matrix[i][0] == '1' {dp[i][0] = 1ans = 1}}for i := 1; i < n; i++ {for j := 1; j < m; j++ {if matrix[i][j] == '1' {p1 := dp[i-1][j-1]p2 := dp[i][j-1]p3 := dp[i-1][j]cur := p1if cur > p2 {cur = p2}if cur > p3 {cur = p3}dp[i][j] = cur + 1if ans < cur+1 {ans = cur + 1}}}}return ans * ans
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 最大正方形* @param matrix char字符型二维数组 * @return int整型*/
function solve( $matrix )
{// 动态规划://先初始化第一行和第一列。然后其他单元格依赖自己的上边,左边和左上角if($matrix ==null || count($matrix) ==0) return 0;$n = count($matrix);$m = count($matrix[0]);$ans = 0;$dp = array();for ($j=0;$j<$m;$j++){if($matrix[0][$j] =='1'){$dp[0][$j] =1;$ans=1;}}for($i=0;$i<$n;$i++){if($matrix[$i][0] =='1'){$dp[$i][0] =1;$ans =1;}}for($i=1;$i<$n;$i++){for($j=1;$j<$m;$j++){if($matrix[$i][$j] =='1'){$p1 = $dp[$i-1][$j-1];$p2 = $dp[$i][$j-1];$p3 = $dp[$i-1][$j];$cur =$p1;if($cur > $p2)$cur = $p2;if($cur> $p3) $cur =$p3;$dp[$i][$j] = $cur+1;if($ans < $cur+1){$ans = $cur+1;}}}}return $ans*$ans;
}

相关文章:

牛客NC108 最大正方形【中等 动态规划 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/0058c4092cec44c2975e38223f10470e 思路 动态规划: 先初始化第一行和第一列。然后其他单元格依赖自己的上边&#xff0c;左边和左上角参考答案Java import java.util.*;public class Solution {/*** 代码中的类…...

C#学生信息成绩管理系统

一、系统功能描述 本系统包括两类用户&#xff1a;学生、管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息&#xff1b;开设课程、查询课程、录入成绩、统计成绩、修改成绩、修改个人密码等&#xff0c;而学生则可以通过系统来选择课…...

精品凉拌菜系列热卤系列课程

这一系列课程涵盖精美凉拌菜和美味热卤菜的制作技巧。学员将学习如何选材、调味和烹饪&#xff0c;打造口感丰富、色香俱佳的菜肴。通过实践训练&#xff0c;掌握独特的烹饪技能&#xff0c;为家庭聚餐或职业厨艺提升增添亮点。 课程大小&#xff1a;6.6G 课程下载&#xff1…...

Java代码基础算法练习-求一个三位数的各位数字之和-2024.03.27

任务描述&#xff1a; 输入一个正整数n&#xff08;取值范围&#xff1a;100<n<1000&#xff09;&#xff0c;然后输出每位数字之和 任务要求&#xff1a; 代码示例&#xff1a; package M0317_0331;import java.util.Scanner;public class m240327 {public static voi…...

Excel 十字交叉聚光灯查询,再也不用担心看串行与列

当Excel表格行列较多时&#xff0c;要想跟条件找到目标数据可以用查找引用函数自动调取&#xff0c;如果又想让找出来的结果突出显示&#xff0c;有什么好办法呢&#xff1f; 先来看一个做好的案例效果&#xff0c;用户选择查询条件后&#xff0c;结果突出显示。 当查询条件变…...

集合和字符串的使用

文章目录 一、集合概述二、Collection2.1 List接口2.2 Set接口&#xff08;不常用&#xff09;2.2.1 TreeSet 三、Map接口四、Collections工具类五、String六、String类型转换6.1 基本数据类型6.2 基本数据类型、包装类 --> String6.3 String与char[]6.4 String与byte[] 一、…...

Wagtail-基于Python Django的内容管理系统CMS实现公网访问

目录 ⛳️推荐 前言 1. 安装并运行Wagtail 1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具 3. 实现Wagtail公网访问 4. 固定Wagtail公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给…...

Python入门级题目及答案

前言&#xff1a; 学习Python作为一门编程语言是非常有必要的&#xff0c;因为Python简单易学&#xff0c;功能强大&#xff0c;应用广泛。在本篇博客中&#xff0c;我们将提供八道Python入门级的题目&#xff0c;每道题目都伴有详细的描述和对应的答案代码。通过完成这八道题目…...

【C语言基础】:字符串函数(二)

文章目录 一、strncpy函数的使用二、strncat函数的使用三、strncmp函数的使用四、strstr函数的使用和模拟实现4.1 strstr函数的使用4.2 strstr函数的模拟实现 五、strtok函数的使用六、strerror函数的使用 书山有路勤为径&#xff0c;学海无涯苦作舟。 创作不易&#xff0c;宝子…...

【Docker】Docker资源(创建容器)CPU/内存/磁盘IO/GPU限制与分配教程

Docker资源创建容器CPU/内存/磁盘IO/GPU限制与分配 一、关键概念解释二、Docker分配CPU资源限制三、Docker分配内存资源限制四、Docker容器中对磁盘IO进行限制五、Docker对GPU资源限制管理 一、关键概念解释 【cgroup】 cgroups名称源自控制组群&#xff08;control g…...

发展规划--IM系统

1、时代背景 5G应用&#xff0c;多终端应用&#xff0c;物联网应用&#xff0c;小程序&#xff0c;工业互联&#xff0c;大数据应用等等大前端时代的到来&#xff0c;程序员不能只关注crud&#xff0c;因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说j…...

stm32平衡车

目录 一.所需材料 二.PID算法&#xff08;简单说明&#xff09; 直立环 速度环 串级PID 三.使用到的外设 1.定时器输出比较-PWM 2.定时器编码器模式 3.编码器读取速度 4.电机驱动函数 5.外部中断 四、小车 调试 一.所需材料 1.陀螺仪MPU6050--读取三轴的加速度…...

google浏览器下载文件提示无法安全地下载怎么解决?

在使用google浏览器下载文件的时候,弹出了“无法安全下载”的提示,搞了文件都下载不下来,网上查了一下,是因为chrome认为使用非https链接下载文件是不安全的,在新版本中阻止了用户下载。 目录 1、打开google浏览器的设置...

Navicat 干货 | 通过检查约束确保 PostgreSQL 的数据完整性

数据完整性对于任何数据库系统来说都是很重要的一方面&#xff0c;它确保存储的数据保持准确、一致且有意义的。在 PostgreSQL 中&#xff0c;维护数据完整性的一个强大工具是使用检查约束。这些约束允许你定义数据必须遵守的规则&#xff0c;以防止无效数据的插入或修改。本文…...

FPGA时钟资源详解(2)——Clock-Capable Inputs

FPGA时钟系列文章总览&#xff1a;FPGA原理与结构&#xff08;14&#xff09;——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 1.1 为什么使用CC 1.2 如何使用CC 二、Clock-Capable Inputs 2.1 SRCC 2.2 MRCC 2.3 其他用途 2.3.1…...

使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段

在接口测试中&#xff0c;我们经常需要从返回的JSON数据中提取特定字段以便后续使用。JMeter提供了JSON提取器&#xff0c;可以帮助我们实现这一目标。本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方式从接口响应中提取特定字段&#xff0c;并通过示例解释JSON表达…...

Js全部循环方法解析

forEach方法 没有返回值&#xff0c;与 for 循环没有什么区别。 [1,2,3,4,5,6,7,8,9,0].forEach(item > {console.log(item); })map方法 返回一个新数组&#xff0c;不改变原数组。通过return内的操作后的数据 const newArr [1,2,3,4,5,6,7,8,9,0].map(item > {retu…...

高阶SQL语句(二)

一 子查询 也被称作内查询或者嵌套查询&#xff0c;是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句 是先于主查询语句被执行的&#xff0c;其结果作为外层的条件返回给主查询进行下一 步的查询过滤。 ①子语句可以与主语句所查询的表相同&#xff0c;也可以是不…...

Phoenix伪分布安装

引言 Phoenix是构建在HBase上的一个SQL层&#xff0c;能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表&#xff0c;插入数据和对HBase数据进行查询。Phoenix完全使用Java编写&#xff0c;作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫…...

Python算法100例-4.6 歌星大奖赛

完整源代码项目地址&#xff0c;关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.问题拓展7.知识点补充 1&#xff0e;问题描述 在歌星大奖赛中&#xff0c;有10个评委为参赛的选手打分&#xff0c;分数为1&#xff5e;100分。选手最…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...