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

汝州市住房和城乡规划建设局网站徐州建设工程交易网站

汝州市住房和城乡规划建设局网站,徐州建设工程交易网站,wordpress更换文章背景色,易语言对做网站有什么帮助来源#xff1a;力扣#xff08;LeetCode#xff09; 描述#xff1a; 给你两个非负整数数组 rowSum 和 colSum #xff0c;其中 rowSum[i] 是二维矩阵中第 i 行元素的和#xff0c; colSum[j] 是第 j 列元素的和。换言之你不知道矩阵里的每个元素#xff0c;但是你知…来源力扣LeetCode 描述 给你两个非负整数数组 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 5000 rowSum[i], colSum[i] 108sum(rowSum) sum(colSum) 方法贪心 思路与算法 给你两个长度为 n 和 m 的非负整数数组 rowSum 和 colSum 其中 rowSum[i] 是二维矩阵中第 i 行元素的和colSum[j] 是第 j 列元素的和。现在我们需要返回任意一个大小为 n×m 并且满足 rowSum 和 colSum 要求的二维非负整数矩阵 matrix。 对于 matrix 的每一个位置 matrix[i][j]0 ≤ i n 且 0 ≤ j m我们将 matrix[i][j] 设为 min{rowSum[i], colSum[j]}然后将 rowSum[i], colSum[j] 同时减去 matrix[i][j] 即可。当遍历完全部位置后matrix 即为一个满足要求的答案矩阵。 上述的构造方法的正确性说明如下 首先我们可以容易得到对于某一个位置 matrix[i][j] 处理完后rowSum[i]colSum[j] 一定不会小于 0。然后我们从第一行开始往最后一行构造因为初始时 ∑i0n\sum_{i0}^n∑i0n​rowSum[i] ∑j0m\sum_{j0}^m∑j0m​colSum[j]所以对于第一行显然有 rowSum[0] ≤ ∑j0m\sum_{j0}^m∑j0m​colSum[j]所以通过上述操作一定可以使得 rowSum[0] 0同时满足 colSum[j] ≥ 0 对于 0 ≤ j m 恒成立。然后我们对剩下的 n − 1 行和 m 列做同样的处理。当处理完成后matrix 为一个符合要求的答案矩阵。 在实现的过程中当遍历过程中 rowSum[i] 00 ≤ i n 时因为每一个元素为非负整数所以该行中剩下的元素只能全部为 0同理对于 colSum[j] 00 ≤ j m 时该列中剩下的元素也只能全部为 0。所以我们可以初始化 matrix 为全零矩阵在遍历的过程中一旦存在上述情况则可以直接跳过该行或者列。 代码 class Solution { public:vectorvectorint restoreMatrix(vectorint rowSum, vectorint colSum) {int n rowSum.size(), m colSum.size();vectorvectorint matrix(n, vectorint(m, 0));int i 0, j 0;while (i n j m) {int v min(rowSum[i], colSum[j]);matrix[i][j] v;rowSum[i] - v;colSum[j] - v;if (rowSum[i] 0) {i;}if (colSum[j] 0) {j;}}return matrix;} };执行用时40 ms, 在所有 C 提交中击败了100.00%的用户 内存消耗32.5 MB, 在所有 C 提交中击败了56.00%的用户 复杂度分析 时间复杂度O(n×m)其中 n 和 m 分别为数组 rowSum 和 colSum 的长度主要为构造 matrix 结果矩阵的时间开销填充 matrix 的时间复杂度为 O(nm)。 空间复杂度O(1)仅使用常量空间。注意返回的结果数组不计入空间开销。 authorLeetCode-Solution
http://www.dnsts.com.cn/news/127916.html

相关文章:

  • 自己做的网站能放到网上么宁波网站建设设计制作
  • 合肥企业快速建站Wordpress页面有横线
  • 怎么开一个网站平台电商平面设计图
  • 福建省建设执业注册中心网站流程优化的方法
  • 四川内江网站建设西安专业网站开发联系电话
  • 网站没有收录了wordpress安装到服务器
  • 泰安做网站建设的公司吉林seo关键词
  • 微信订阅号 网站开发百度怎么建网站
  • 郑州好的网站建站手机app如何开发制作
  • 湖州网站建设湖州网站建设最低多少钱
  • 学做网站开发要1万6wordpress如何设置外网访问
  • 移动做网站吗网站建设公司类型
  • 外贸网站建设浩森宇特用手机看网站源代码
  • 房产网站开发广州人才网
  • 成都网站建设kaituozu网站建设服务商 需要什么主机
  • 电子商务网站建设程序应用题怎样做网站制作团队
  • 深圳市光明建设发展集团网站怎么做自己的网站平台
  • 首钢水钢赛德建设有限公司网站手机如何搭建网站
  • jsp网站建设美食皮皮果网站建设
  • 企业网络设计与实现毕业设计天津搜索引擎seo
  • 丽水网站建设公司艺术网站定制
  • 网站开发女生可以做吗网站模板下载地址
  • 静态网站维护网站优化排名易下拉霸屏
  • 免费ppt模板下载大全网站做网站编辑要有逻辑吗
  • 怎么为一个网站做外链网页设计与制作教程第三版课后答案
  • 卖鞋做哪个网站好网站建设的售后
  • 网站开发需要多少钱新闻wordpress默认后台密码
  • 广西网站建设银行辽宁省住房建设厅网站
  • 西部中大建设集团网站哪些网站是用h5做的
  • 广州建站公司兴田德润活动网站地图的使用