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

国外教程 网站wap手机网站开发

国外教程 网站,wap手机网站开发,建立个人网站要钱吗,仿99健康网网站源码【LetMeFly】1289.下降路径最小和 II#xff1a;通俗易懂地讲解O(n^2) O(1)的做法 力扣题目链接#xff1a;https://leetcode.cn/problems/minimum-falling-path-sum-ii/ 给你一个 n x n 整数矩阵 arr #xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下…【LetMeFly】1289.下降路径最小和 II通俗易懂地讲解O(n^2) O(1)的做法 力扣题目链接https://leetcode.cn/problems/minimum-falling-path-sum-ii/ 给你一个 n x n 整数矩阵 arr 请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为从 arr 数组中的每一行选择一个数字且按顺序选出来的数字中相邻数字不在原数组的同一列。 示例 1 输入arr [[1,2,3],[4,5,6],[7,8,9]] 输出13 解释 所有非零偏移下降路径包括 [1,5,9], [1,5,7], [1,6,7], [1,6,8], [2,4,8], [2,4,9], [2,6,7], [2,6,8], [3,4,8], [3,4,9], [3,5,7], [3,5,9] 下降路径中数字和最小的是 [1,5,7] 所以答案是 13 。示例 2 输入grid [[7]] 输出7提示 n grid.length grid[i].length1 n 200-99 grid[i][j] 99 方法一动态规划 这道题其实思路很简单 gird[i][j]来自gird[i - 1]的哪一个当然是gird[i - 1]中最小的那一个。如果grid[i - 1]中最小的那个元素恰好是j怎么办那么gird[i][j]就来自gird[i - 1]中第二小的那一个。 不难发现我们只关注上一行最小的两个元素的位置 具体实现 写一个函数findMin2(v)用来寻找数组v中最小的两个元素的位置。 用 i i i从第2行开始遍历地图grid 用 j j j遍历 g i r d [ i ] gird[i] gird[i] 如果 j j j等于上一行最小元素的下标 g r i d [ i ] [ j ] g r i d [ i − 1 ] [ 第二小元素的下标 ] grid[i][j] grid[i - 1][第二小元素的下标] grid[i][j]grid[i−1][第二小元素的下标]否则 g r i d [ i ] [ j ] g r i d [ i − 1 ] [ 最小元素的下标 ] grid[i][j] grid[i - 1][最小元素的下标] grid[i][j]grid[i−1][最小元素的下标] 最终返回最后一行的最小元素即可。 时间复杂度 O ( n 2 ) O(n^2) O(n2)其中 s i z e ( g i r d ) n × n size(gird) n\times n size(gird)n×n空间复杂度 O ( 1 ) O(1) O(1) AC代码 C class Solution { private:pairint, int findMin2(vectorint v) { // 只接收长度大于等于2的vpairint, int ans;int m v[0], loc 0;for (int i 0; i v.size(); i) {if (v[i] m) {m v[i], loc i;}}ans.first loc;loc ans.first ? 0 : 1, m v[loc]; // 如果第一个元素是最小的那么找第二个最小元素的时候就从上一行的第二个元素开始for (int i 0; i v.size(); i) {if (v[i] m i ! ans.first) {m v[i], loc i;}}ans.second loc;return ans;} public:int minFallingPathSum(vectorvectorint grid) {int n grid.size();for (int i 1; i n; i) {pairint, int last2min findMin2(grid[i - 1]); // i 1说明grid[i - 1].size() 2for (int j 0; j n; j) {grid[i][j] (j last2min.first ? grid[i - 1][last2min.second] : grid[i - 1][last2min.first]);}}return *min_element(grid.back().begin(), grid.back().end());} };Python # from typing import Listclass Solution:def findMin2(self, v: List[int]) - List[int]:ans [0, 0]m, loc v[0], 0for i in range(len(v)):if v[i] m:m, loc v[i], ians[0] locloc 0 if ans[0] else 1m v[loc]for i in range(len(v)):if v[i] m and i ! ans[0]:m, loc v[i], ians[1] locreturn ansdef minFallingPathSum(self, grid: List[List[int]]) - int:n len(grid)for i in range(1, n):last2min self.findMin2(grid[i - 1])for j in range(n):grid[i][j] grid[i - 1][last2min[0]] if j ! last2min[0] else grid[i - 1][last2min[1]]return min(grid[-1])同步发文于CSDN原创不易转载请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/132201281
http://www.dnsts.com.cn/news/165258.html

相关文章:

  • 站群seo技巧公司模板设计
  • 商务网站建设的主流程网络营销师是做什么的
  • 哈巴河网站制作商城网站建设价格费用
  • 网站收录量低怎么做中国建设银行个人登录网站
  • 无锡网站建设品牌大全安装wordpress 空白
  • 网页此站点不安全延安网站建设费用
  • 青海省公路建设网站雨花区网站建设
  • 盐城城乡建设局网站服装如何做微商城网站建设
  • 超市网站模板网页模板下载网站
  • 网站怎么加背景音乐rest api wordpress
  • 东莞企业推广网站制作h5可以用什么网站做
  • win7自建网站宁波男科公立医院哪家最好
  • 58同城上海网站建设cvm服务器做网站
  • 同城做推广哪个网站好经典门户网站欣赏
  • 昆明网站建设价格低阿里云物联网平台
  • 转入已备案网站怎样开通微商城平台
  • 网站 续费长沙网红景点
  • 和老妇做爰视频网站中国建设银行网站简介
  • vps网站无法通过ip访问上海建设协会网站
  • 搭建电商平台网站wordpress缩略图延时加载
  • 网站制作学习惠州网站建设是什么意思
  • 周口网站建设公司免费站推广网站链接
  • 做网站比较大的公司口碑好网站建设公司电话
  • 传统文化网站建设做套网站多少钱
  • 怎么让人理解网站建设在线p图网页版免费
  • 金科科技 做网站乐陵新闻最新消息今天
  • 不用js做网站建设云网站
  • 西安网站建站优化申请网页的注意事项
  • 中国建设银行北海招聘信息网站网站建设惠州
  • 做h5商城网站工程建设信息网站