LeetCode-1605. 给定行和列的和求可行矩阵【贪心,矩阵】
创始人
2024-06-03 08:10:50
0

LeetCode-1605. 给定行和列的和求可行矩阵【贪心,矩阵】

  • 题目描述:
  • 解题思路一:先从一行来看。对于每一行遍历到的元素首先取min(rowSum[i],colSum[j])即取行列和中的最小值x。然后rowSum[i]-=x,colSum[j]-=x。然后继续循环不断构造即可。因为题目要求sum(rowSum) == sum(colSum)
  • 解题思路二:优化。我们发现当rscs说明下面全是0,就往右走。
  • 解题思路三:0

题目描述:

给你两个非负整数数组 rowSum 和 colSum ,其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和。换言之你不知道矩阵里的每个元素,但是你知道每一行和每一列的和。

请找到大小为 rowSum.length x colSum.length 的任意 非负整数 矩阵,且该矩阵满足 rowSum 和 colSum 的要求。

请你返回任意一个满足题目要求的二维矩阵,题目保证存在 至少一个 可行矩阵。

示例 1:

输入:rowSum = [3,8], colSum = [4,7]
输出:[[3,0],
[1,7]]
解释:
第 0 行:3 + 0 = 3 == rowSum[0]
第 1 行:1 + 7 = 8 == rowSum[1]
第 0 列:3 + 1 = 4 == colSum[0]
第 1 列:0 + 7 = 7 == colSum[1]
行和列的和都满足题目要求,且所有矩阵元素都是非负的。
另一个可行的矩阵为:[[1,2],
[3,5]]

示例 2:

输入:rowSum = [5,7,10], colSum = [8,6,8]
输出:[[0,5,0],
[6,1,0],
[2,0,8]]

示例 3:

输入:rowSum = [14,9], colSum = [6,9,8]
输出:[[0,9,5],
[6,0,3]]

示例 4:

输入:rowSum = [1,0], colSum = [1]
输出:[[1],
[0]]

示例 5:

输入:rowSum = [0], colSum = [0]
输出:[[0]]

提示:

1 <= rowSum.length, colSum.length <= 500
0 <= rowSum[i], colSum[i] <= 108
sum(rowSum) == sum(colSum)
https://leetcode.cn/problems/find-valid-matrix-given-row-and-column-sums/description/

解题思路一:先从一行来看。对于每一行遍历到的元素首先取min(rowSum[i],colSum[j])即取行列和中的最小值x。然后rowSum[i]-=x,colSum[j]-=x。然后继续循环不断构造即可。因为题目要求sum(rowSum) == sum(colSum)

class Solution:def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:m,n=len(rowSum),len(colSum)mat=[[0]*n for _ in range(m)]for i,rs in enumerate(rowSum):for j,cs in enumerate(colSum):mat[i][j]=x=min(rs,cs)rs-=xcolSum[j]-=xreturn mat

时间复杂度:O(nm)
空间复杂度:O(1)//返回值不计入。

解题思路二:优化。我们发现当rscs说明下面全是0,就往右走。

class Solution:def restoreMatrix(self, rowSum: List[int], colSum: List[int]) -> List[List[int]]:m,n=len(rowSum),len(colSum)mat=[[0]*n for _ in range(m)]i=j=0#从左上角出发while i

时间复杂度:O(nm)
空间复杂度:O(1)//返回值不计入。

解题思路三:0


相关内容

热门资讯

园一日游作文300字作文三年... 篇一:园一日游今天,我们三年级的同学们来到了一个美丽的园,进行了一次愉快的一日游。早晨,我们在学校门...
恐龙公园作文三年级【经典6篇... 恐龙公园作文三年级 篇一:探索恐龙世界在一个阳光明媚的周末,我和爸爸妈妈一起去了恐龙公园。我非常兴奋...
观察三年级的作文(实用6篇) 观察三年级的作文 篇一三年级的作文是一个让人感到充满惊喜和想象力的世界。作为一名老师,我有幸能够亲眼...
美丽的神农谷三年级作文(精简... 美丽的神农谷三年级作文 篇一神农谷是我家附近一个非常美丽的地方。每当我有时间,我都会去神农谷散步。神...
我的学校三年级作文(优质6篇... 我的学校三年级作文 篇一我喜爱的学校图书馆我所在的学校有一个很棒的图书馆,它是我最喜欢去的地方之一。...
三年级作文新学期的开始【经典... 三年级作文新学期的开始 篇一新学期的开始新学期开始了,同学们都充满了期待和憧憬。我们迈进了三年级的课...
小学三年级我的老师作文400... 篇一:小学三年级我的老师我非常喜欢我的小学三年级的老师,她是一个非常好的老师。她叫李老师,是一个年轻...
将门虎子三年级作文(精彩3篇... 将门虎子三年级作文 篇一我的宠物小狗我家有一只很可爱的宠物小狗,它的名字叫将门虎子。将门虎子是一只三...
母爱是无私的三年级作文【优秀... 母爱是无私的三年级作文 篇一母爱是无私的母爱是世界上最伟大的力量,它是无私的。无论是在我们出生的那一...
第一次掌勺作文_三年级作文(... 第一次掌勺作文_三年级作文 篇一第一次掌勺今天,我迎来了人生中第一次掌勺的机会。我既兴奋又紧张,因为...
小学三年级作文700字 【精品】小学三年级作文700字3篇  在日常学习、工作抑或是生活中,说到作文,大家肯定都不陌生吧,写...
黄岩石窟三年级作文(实用3篇... 黄岩石窟三年级作文 篇一探秘黄岩石窟我家住在浙江省的黄岩市,最近我们班组织了一次参观黄岩石窟的活动。...
假如我会变三年级450字作文... 假如我会变三年级450字作文 篇一如果我能变成三年级的学生,我会怎么样呢?首先,我会更加努力学习,争...
可恶的小老鼠三年级作文【精简... 可恶的小老鼠三年级作文 篇一最近我们班的教室里出现了一个可恶的小老鼠。这只小老鼠总是在我们不注意的时...
三年级作文200个子18篇【... 篇一:我的暑假计划暑假即将来临,我早早地制定了一个丰富多彩的暑假计划。首先,我计划读很多好书。我喜欢...
小学三年级作文400字【实用... 小学三年级作文400字 篇一爱护小动物我家附近有一个小公园,里面有很多小动物。我喜欢去那里看它们,但...
三年级科幻作文智能干家务的机... 三年级科幻作文智能干家务的机器人 篇一智能家务机器人的出现在未来的世界里,科技发展迅速,人们的生活变...
三年级下册我做了一项小实验作... 三年级下册我做了一项小实验作文 篇一标题:探究种子发芽的条件在三年级下册的科学课上,我们进行了一项小...
三年级学生感受作文(优选6篇... 三年级学生感受作文 篇一我喜欢上学的理由我是一个三年级的学生,我非常喜欢上学。每天早上,当妈妈叫我起...
小学三年级说好普通话作文(优... 小学三年级说好普通话作文 篇一我要当一个好学生我是一个小学三年级的学生,我知道要成为一个好学生,首先...