1289. 下降路径最小和 II

news2024/11/24 20:45:29

题目描述:

给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。
非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。

示例:

来源:力扣(LeetCode)
来源:力扣(LeetCode)

解题思路:

存储第一行的最小值、下标和次最小值,后面每行如果下标与前面存储的下标相同,选择添加次最小值,若不同,添加最小值,并在该行都计算完成的情况下,更新最小值、下标和次最小值,以作为下一行计算使用,最后升序排列最后一行的结果,采用第一位。

相关代码:

class Solution {
    public int minFallingPathSum(int[][] grid) {
        int i=0,j=0,min1=0,min2=0,mini=0;
        int[] min=new int[3];
        min[0]=100;
        min[2]=100;
        for(i=0;i<grid[0].length;i++) {
            if(grid[0][i]<min[0]) {
                min[2]=min[0];
                min[0]=grid[0][i];
                min[1]=i;
            } else if(grid[0][i]<min[2]) {
                min[2]=grid[0][i];
            }
        }
        for(i=1;i<grid.length;i++) {
            min1=20000;
            min2=20000;
            for(j=0;j<grid[i].length;j++) {
                if(j!=min[1]) {
                    grid[i][j]+=min[0];
                } else {
                    grid[i][j]+=min[2];
                }
                if(grid[i][j]<min2) {
                    if(grid[i][j]<min1) {
                        min2=min1;
                        min1=grid[i][j];
                        mini=j;
                    } else {
                        min2=grid[i][j];
                    }
                }
                
            }
            min[0]=min1;
            min[1]=mini;
            min[2]=min2;
        }
        Arrays.sort(grid[i-1]);
        return grid[i-1][0];
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/874758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业级备份 - 让您的数据安全防线坚韧如山

产品定义 数据威胁无处不在&#xff0c;不论数据处于何地&#xff0c;以何种形态体现&#xff0c;数据安全都至关重要。备份作为数据安全的最后一道防线&#xff0c;需要慎之又慎。针对数据备份与恢复的企业级应用&#xff0c;联想凌拓 (Lenovo NetApp) 与华睿泰 (Veritas) 共同…

【C++】速识string

一、创建string对象 1、文档 2、常用 并不是所有的用法都需要熟记于心&#xff0c;我们只需记住常用的即可&#xff0c;对于并不常用的&#xff0c;我们可以在用到的时候查看文档学习使用。 void Test1() {string s1;string s2("Hello World");s1 "Hello …

Android 10.0 禁止二次展开QuickQSPanel设置下拉QSPanel高度

1.前言 在10.0的系统定制化需求中,在进行systemui的ui定制开发中,有些需要对原生systemui下拉状态栏中的二次展开QSPanel修改成 一次展开禁止二次展开,所以就需要修改QuickQSpanel的高度,然后在QuickQsPanel做定制,然后禁止二次展开就可以了 如图: 2.禁止二次展开Quic…

ubuntu下FFmpeg安装和使用以及CMakeLists.txt模板

sudo apt install ffmpeg sudo apt-get install libavfilter-devcmakelist模板 CMakeLists.txt cmake_minimum_required(VERSION 3.16) project(ffmpeg_demo)# 设置ffmpeg依赖库及头文件所在目录&#xff0c;并存进指定变量 set(ffmpeg_libs_DIR /usr/lib/x86_64-linux-gnu) …

【Windows 常用工具系列 7 -- 禁用win10自带的微软输入法】

文章目录 1.1 输入法配置 1.1 输入法配置 首先建议采用搜狗输入法&#xff0c;这个更符合中国人的输入习惯&#xff0c;强烈建议删除微软自带的中文输入法&#xff0c;删除方式见&#xff1a; 点击电脑主屏幕左下角开始图标&#xff0c;选择设置&#xff1a; 选择“时间和语…

AutoxJS脚本保姆级教程

目录 引言 准备工作 脚本开发 邮件提示&#xff08;不使用邮件推送的可以跳过这步&#xff09; 节假日判断&#xff08;不需要判断节假日的可以跳过&#xff09; 问题及技巧归总 JS语法错误&#xff1a;软件更新 按钮或组件无法找到 使用定时器等待组件出现 root环境下…

Scratch 之 单个角色模糊特效

想给单独一个角色用模糊特效&#xff0c;怎么办&#xff01;&#xff01;&#xff01; 完全不用慌&#xff0c;最近&#xff0c;我做出了超好用的个体模糊特效&#xff0c;用起来超级简单&#xff0c;接下来进入讲解。 1.原理 前几天&#xff0c;我闲来无事&#xff0c;摘下眼镜…

【2023年11月第四版教材】《第4章-信息系统管理之管理要点(第四版新增章节)(第二部分)》

信息系统管理之管理要点&#xff08;第四版新增章节&#xff09;&#xff08;第二部分&#xff09; 2 管理要点2.1 数据管理能力成熟度评估模型DCMM详细表格简要表格 2.2 组织的管理成熟度2.3 能力模型2.4 智能运维能力框架2.5 安全保护等级 2 管理要点 2.1 数据管理能力成熟度…

华为云classroom赋能--Devstar使应用开发无需从零开始

华为云DevStar为开发者提供业界主流框架代码初始化能力&#xff0c;通过GUI、API、CLI等多种方式&#xff0c;将按模板生成框架代码的能力推送至用户桌面。同时基于华为云服务资源、成熟的DevOps开发工具链和面向多场景的众多开发模板&#xff0c;提供一站式创建代码仓、自动生…

js的练习

这里写目录标题 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script>window.onload function() // 需要在body加载完成之后&#xff0c;才能通过docu…

HCIP BGP小综合

BGP小综合 AS配置AS1AS2 中的小自治系统64512AS2 中的小自治系统64513AS3 测试 首先该实验分成三个AS&#xff0c;AS2里面有联邦&#xff0c;所以配置顺序 要先将IBGP通&#xff0c;然后配置AS1,AS3和联邦 AS配置 AS1 R1 # bgp 1router-id 1.1.1.1peer 12.1.1.2 as-number …

C++ 网络编程项目fastDFS分布式文件系统(二)-redis部分

目录 1. 数据库类型 1.1 基本概念 1.2 关系/非关系型数据库搭配使用 2. Redis 2.1 基本知识点 2.2 redis常用命令 - String类型 - List类型 - Set类型 - SortedSet 类型 - Hash类型 Key 相关的命令 2.3 redis配置文件 2.4 redis数据持久化 3 hiredis的使用 1. 数据…

人类:我觉得1+1=956446,你觉得呢?大模型:啊对对对

大模型太「听话」了怎么办&#xff1f; 大型语言模型&#xff08;LLM&#xff09;的自然语言理解与生成能力一直备受称赞&#xff0c;特别是 ChatGPT 等对话式语言模型能够与人类流畅、自然地进行多轮对话。然而&#xff0c;最近一篇 Google DeepMind 的论文研究发现 LLM 普遍存…

FPGA GTP全网最细讲解 aurora 8b/10b协议OV5640摄像头视频传输 提供2套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTP 全网最细解读GTP 基本结构GTP 发送和接收处理流程GTP 的参考时钟GTP 发送接口GTP 接收接口GTP IP核调用和使用 4、设计思路框架OV5640摄像头配置及采集视频数据组包GTP aurora 8b/10b数据对齐视频数据解包图像…

WinCC V7.5 中的C脚本对话框不可见,将编辑窗口移动到可见区域的具体方法

WinCC V7.5 中的C脚本对话框不可见&#xff0c;将编辑窗口移动到可见区域的具体方法 由于 Windows 系统更新或使用不同的显示器&#xff0c;在配置C动作时&#xff0c;有可能会出现C脚本编辑窗口被移动到不可见区域的现象。 由于该窗口无法被关闭&#xff0c;故无法进行进一步…

WebRTC音视频通话-RTC直播本地视频及相册视频文件

WebRTC音视频通话-RTC直播本地视频及相册视频文件 WebRTC音视频通话-RTC直播本地视频文件效果图如下 WebRTC音视频通话-RTC直播本地视频文件时候&#xff0c;用到了AVPlayer、CADisplayLink。 一、通过AVPlayer播放本地视频 AVPlayer是什么&#xff1f; AVPlayer是基于AV…

进程间的通信

进程的通信&#xff0c;光是听概念就知道这是一个非常重要的知识点&#xff0c;但是之前学习的概念其实都无法实现真正意义上的进程间的通信&#xff1a; 子进程调用exit或Exit或_exit&#xff0c;然后父进程通过wait可以知道其状态&#xff0c;这虽然实现了消息的传递&#x…

【图像分类】理论篇(2)经典卷积神经网络 Lenet~Densenet

1、卷积运算 在二维卷积运算中&#xff0c;卷积窗口从输入张量的左上角开始&#xff0c;从左到右、从上到下滑动。 当卷积窗口滑动到新一个位置时&#xff0c;包含在该窗口中的部分张量与卷积核张量进行按元素相乘&#xff0c;得到的张量再求和得到一个单一的标量值&#xff0c…

算法与数据结构(二十三)动态规划设计:最长递增子序列

注&#xff1a;此文只在个人总结 labuladong 动态规划框架&#xff0c;仅限于学习交流&#xff0c;版权归原作者所有&#xff1b; 也许有读者看了前文 动态规划详解&#xff0c;学会了动态规划的套路&#xff1a;找到了问题的「状态」&#xff0c;明确了 dp 数组/函数的含义&a…

二叉树的存储结构(顺序存储)—— 数据结构与算法

&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️ &#x1f4a5;个人主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王&#x1f525;&#x1f525;&#x1f525; &#x1f4a5;代码仓库&#xff1a;&#x1f525;&#x1f525;魔…