华为笔试题1-面试题17.24-最大子矩阵
https://leetcode-cn.com/problems/max-submatrix-lcci/
给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。
返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。
注意:本题相对书上原题稍作改动
示例1
输入:
[[-1,0],[0,-1]
]
输出:[0,1,0,1]
解释:输入中标粗的元素即为输出所表示的矩阵
class Solution:def getMaxMatrix(self, matrix: List[List[int]]) -> List[int]:ans = [0 for _ in range(4)] # 输出m = len(matrix) # 行数n = len(matrix[0]) # 列数max_sum = matrix[0][0]for i in range(m): # 起始行b = [0 for _ in range(n)] # b[0]存储每列和for j in range(i, m): # 结束行ssum = 0for k in range(n):b[k] += matrix[j][k]if ssum > 0: # 加了比不加大,那就加上去ssum += b[k] else: # 加了比不加小ssum = b[k] ans1 = i # 更新行起点ans2 = k # 更新列起点if ssum > max_sum: # 如果当前的和更大max_sum = ssum # 更新最大和ans[0] = ans1 # 更新行起点ans[1] = ans2 # 更新列起点ans[2] = j # 更新行终点ans[3] = k # 更新列终点return ans
华为笔试题1-面试题17.24-最大子矩阵相关推荐
- 面试题 17.24. 最大子矩阵
面试题 17.24. 最大子矩阵 给定一个正整数.负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵. 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代 ...
- 程序员面试金典 - 面试题 17.24. 最大子矩阵(转成一维最大子序和 DP)
文章目录 1. 题目 2. 解题 2.1 前缀和(超时) 2.2 动态规划 1. 题目 给定一个正整数和负整数组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵. 返回一个数组 [r1, c1 ...
- 华为笔试题---明明的随机数
题目 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着 ...
- 【leetcode】第394题:字符串解码(华为笔试题)
题目:给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正整数. ...
- 华为笔试题 -- 多个数组按顺序合并(Java代码实现)
华为笔试题 – 多个数组按顺序合并(Java代码实现) 题目描述: 现在有多组整数数组,需要将他们合并成一个新的数组.合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉 ...
- 2019届华为笔试题(软件卷)
华为笔试题共3道编程题.第一题100分,第二题200分,第三题300分,一共600分. 第一题: 输入描述: 1.忽略小数点,例如"A1.2",认为包含整数1和2: 2.如果整数的 ...
- ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
- ⑪(面试篇 2/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
- ②(常识篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
- ⑧(网络篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
最新文章
- java 获取已有字体,java获取本机全部可用字体
- red hat关于桥接模式连不上外网或者没有IP
- 云网融合 — 基于 SD-DCI 的云间网络融合
- php简单还是go简单_PHP转Golang一些感想
- Memcached源码分析
- 比特币技术公司创始人:ICO是一场被骗子玩弄的网络泡沫
- Linux内核与文件系统分析
- qoq是什么意思的缩写_有意思,“TTFN”居然是“再见”的缩写词,具体是指什么呢?...
- visio双线方框怎么画_visio透明框怎么画? visio绘制方框透明的教程
- hibernate的注解属性mappedBy详解
- Unicode 字符集
- 在Linux下玩QQ游戏
- 如何利用SFTP在远程服务器中保障文件传输安全
- [MySQL远程备份策略举例]
- BZOJ3161 : 孤舟蓑笠翁
- 消息循环中TranslateMessage和Dispatch函数的作用
- 生产者消费者模式详细解读
- Python Plotly制作网页版表格
- ubuntu上的音频分析工具
- 跨境电商ERP中的自动化 5.平台订单自动打印面单