LeetCode 562. 矩阵中最长的连续1线段(DP)
文章目录
- 1. 题目
- 2. 解题
1. 题目
给定一个01矩阵 M,找到矩阵中最长的连续1线段。
这条线段可以是水平的、垂直的、对角线的或者反对角线的。
示例:
输入:
[[0,1,1,0],[0,1,1,0],[0,0,0,1]]
输出: 3
提示: 给定矩阵中的元素数量不会超过 10,000。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-line-of-consecutive-one-in-matrix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 建立四个方向的DP数组即可,求各方向的前缀和,遇到0从新开始累计
class Solution {public:int longestLine(vector<vector<int>>& M) {if(M.empty() || M[0].empty())return 0;int m = M.size(), n = M[0].size(), i, j;vector<vector<int>> h(m,vector<int>(n,0)),v(m,vector<int>(n,0)), p_45(m,vector<int>(n,0)),n_45(m,vector<int>(n,0));int maxlen = 0;for(i = 0; i < m; i++) {for(j = 0; j < n; j++){if(M[i][j] == 0)continue;h[i][j] = i-1>=0 ? h[i-1][j]+1 : 1;v[i][j] = j-1>=0 ? v[i][j-1]+1 : 1;p_45[i][j] = (i>0 && j+1 <n) ? p_45[i-1][j+1]+1 : 1;n_45[i][j] = (i>0 && j>0) ? n_45[i-1][j-1]+1 : 1;maxlen = max(maxlen,h[i][j]);maxlen = max(maxlen,v[i][j]);maxlen = max(maxlen,p_45[i][j]);maxlen = max(maxlen,n_45[i][j]);}}return maxlen;}
};
120 ms 28.3 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode 562. 矩阵中最长的连续1线段(DP)相关推荐
- LeetCode 549. 二叉树中最长的连续序列(树上DP)
文章目录 1. 题目 2. 解题 1. 题目 给定一个二叉树,你需要找出二叉树中最长的连续序列路径的长度. 请注意,该路径可以是递增的或者是递减. 例如,[1,2,3,4] 和 [4,3,2,1] 都 ...
- LeetCode—5757. 矩阵中最大的三个菱形和(Get Biggest ...)[中等]—分析及代码(Java)
LeetCode--5757. 矩阵中最大的三个菱形和[Get Biggest Three Rhombus Sums in a Grid][中等]--分析及代码[Java] 一.题目 二.分析及代码 ...
- LeetCode 840. 矩阵中的幻方(数学)
1. 题目 3 x 3 的幻方是一个填充有从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等. 给定一个由整数组成的 grid,其中有多少个 3 × 3 的 ...
- LeetCode 1380. 矩阵中的幸运数(set)
1. 题目 给你一个 m * n 的矩阵,矩阵中的数字 各不相同 .请你按 任意 顺序返回矩阵中的所有幸运数. 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元 ...
- 找出数组中最长的连续数字序列(JavaScript实现)
原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: 1 func ...
- LeetCode 5356. 矩阵中的幸运数
5356. 矩阵中的幸运数 给你一个 m * n 的矩阵,矩阵中的数字 各不相同 .请你按 任意 顺序返回矩阵中的所有幸运数. 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 ...
- 【LeetCode】词典中最长的单词(附集合操作、lamda用法)
题目描述 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典 ...
- LeetCode 329. 矩阵中的最长递增路径(记忆化递归)
文章目录 1. 题目 2. 解题 2.1 记忆化递归 2.2 拓扑排序 1. 题目 给定一个整数矩阵,找出最长递增路径的长度. 对于每个单元格,你可以往上,下,左,右四个方向移动. 你不能在对角线方向 ...
- java图遍历求最长路径_如何在Java中使用递归实现矩阵中最长路径的返回
我正试图用递归来解决这个问题. 问题是:对于二维正整数数组,我如何返回最长路径(步骤),以便最长路径的每个单元格中的值是从整数的降序序列开始的,并且每个单元格和单元格之间的差异是一个给定的数字(num ...
最新文章
- android studio导入aar包,AndroidStudio导入本地aar文件
- 论文被拒,项目被砍?斯坦福「最惨」在读博士教你如何直面失败
- JavaScript全局函数
- Reverse Linked List II
- leetcode 932. Beautiful Array | 932. 漂亮数组(分治法)
- oracle中的mount是什么意思,oraclenomountmountopen直接的关系
- mysql技术内幕《读书笔记》
- PSD分层立体数据模板立体数据统计素材
- 表的顺序结构---重写Arraylist类
- Atitit 爬虫发展历史 在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运
- 智慧运维:基于 BIM 技术的可视化管理系统
- PB:玉米气生根分泌物支持的高效生物固氮
- 瑞萨单片机c语言程序,瑞萨单片机学习笔记(1)基本配置
- 一个爆款小程序的复盘
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B Coin (概率计算)
- 2. IMU原理及姿态融合算法详解
- poj 1950 Dessert 深搜
- 研发团队管理经验总结(一)
- UE4实现生化危机7影子谜题
- Android11不如,安卓11的卡顿是因为离开了华为的技术支持!
热门文章
- 在Mysql中显示所有用户的操作教程(Linux环境下)
- Halcon—Tuple中符号的含义
- java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示
- mysql5.7物理备份_Mysql5.7—运维常用备份方式
- 嵌入式数据库sqlite在ARM上的的移植和使用
- shell 替换字符串的几种方法,变量替换${},sed,awk
- c#利用定时器自动备份数据库(mysql)
- html字体加大标签与写法介绍
- SpringBoot开发案例之整合Spring-data-jpa
- Readonly 与Const