【LeetCode】HOT 100(11)

news2025/2/13 1:56:38

题单介绍:

精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。

目录

题单介绍:

题目:64. 最小路径和 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:72. 编辑距离 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:64. 最小路径和 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {

    }
};

解题思路:

这道题也是简单dp,

主要思路就是:(三种情况)

1. 第一行的值就是自己的值加上左边数的值

2. 第一列的值就是自己的值加上上面数的值

3. 其它位置就是自己的值加上min(左边数的值,上面数的值)(因为是找最小值路径)

代码:

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        for(int i = 0; i < grid.size(); i++) {
            for(int j = 0; j < grid[0].size(); j++) {
                if(i == 0 && j == 0) continue; //第一行第一列就是自己本身
                else if(i == 0) grid[i][j] = grid[i][j - 1] + grid[i][j]; //情况1
                else if(j == 0) grid[i][j] = grid[i - 1][j] + grid[i][j]; //情况2
                else grid[i][j] = min(grid[i - 1][j], grid[i][j - 1]) + grid[i][j]; //情况3
            }
        }
        return grid[grid.size() - 1][grid[0].size() - 1];
    }
};

过过过过啦!!!!

题目:72. 编辑距离 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int minDistance(string word1, string word2) {

    }
};

解题思路:

这道题也是dp问题,算是不怎么基础的基础dp问题吧,

这道题的状态转移方程我也是看了很久才看明白,

具体思路是这样子的:

1. 我们将操作一个单词分成三种情况:插入、删除、替换

2. 初始化用于动态规划的二维数组,将第一行作为插入操作,第一列作为删除操作初始化其操作数

3. 三种操作分别对应上,左,左上。(左上对应的是替换操作)

然后我们列出状态转移方程:(因为要求的是最小的步数)

1. 如果单词需要操作,找出三种操作中最小一步 + 1次操作

2. 如果单词不需要操作,就不操作(返回之前的样子)

代码如下:

代码:

class Solution {
public:
    int minDistance(string word1, string word2) {
        // +1 是未了在单词为空的时候,也能创建出空间
        vector<vector<int>> dp(word1.size() + 1, vector<int>(word2.size() + 1, 0));

        //将第一行和第一列初始化
        for(int i = 0; i < dp.size(); i++) dp[i][0] = i;
        for(int i = 0; i < dp[0].size(); i++) dp[0][i] = i;

        //动态规划
        for(int i = 1; i < dp.size(); i++) {
            for(int j = 1; j < dp[0].size(); j++) {
                //找出三种操作中最小一步 + 1次操作
                dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1;
                if(word1[i - 1] == word2[j - 1]) {
                    //如果单词不需要操作,就不操作(返回之前的样子)
                    dp[i][j] = dp[i - 1][j - 1];
                }
            }
        }
        //.back()是返回数组最后一个元素
        return dp.back().back();
    }
};

过过过过啦!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

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

相关文章

工作多年的工作焦虑症-广泛性焦虑症

我相信工作多年的人都会有自己的工作焦虑症的情况&#xff0c;而我们普通人最多的最容易的也就是广泛性焦虑症&#xff0c;广泛性焦虑障碍&#xff08;GAD&#xff09;是一种常见的慢性焦虑障碍&#xff0c;患者长时间处于一种担心、紧张、无法放松的状态。它会让一种广泛的担心…

采购协同:企业数字化转型的关键环节

企业数字化转型已成为当今市场的主流趋势&#xff0c;而采购协同作为企业数字化转型的关键环节&#xff0c;对于企业的成本控制、供应链管理等方面都有着至关重要的影响。本文将围绕采购协同的重要性、数字化转型的方法和优势、以及实现采购协同的关键环节展开讨论。 一、采购协…

Java并发容器 并发队列

并发容器概览 ConcurrentHashMap : 线程安全的HashMap CopyOnWriteArrayList: 线程安全的List BlockingQueue:这是一个接口&#xff0c;表示阻塞队列&#xff0c;非常适合用于作为数据共享的通道 ConcurrentLinkedQueue : 高效的非阻塞并发队列&#xff0c;使用链表实现。可…

目标检测数据集---道路破损缺陷数据集

✨✨✨✨✨✨目标检测数据集✨✨✨✨✨✨ 本专栏提供各种场景的数据集,主要聚焦:工业缺陷检测数据集、小目标数据集、遥感数据集、红外小目标数据集,该专栏的数据集会在多个专栏进行验证,在多个数据集进行验证mAP涨点明显,尤其是小目标、遮挡物精度提升明显的数据集会在该…

Java list安全删除元素详解

背景 前一段时间被问到了关于 List 集合的安全删除元素问题。一时间没反应过来这问题问的是什么&#xff0c;安全体现在什么地方&#xff0c;线程安全&#xff1f;线程安全可以保证元素粒度的数据唯一吗&#xff1f;删除是指什么&#xff0c;list.remove()&#xff1f; 带着这…

5外包功能测试做完,人废了一半····

先说一下自己的情况。大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近5年的点点点&#xff0c;今年年上旬&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01;而我已经在一个企业干了五年的功能测试…

剑指offer35 复杂链表的复制

复杂链表的复制 文章目录 复杂链表的复制方法一 回溯哈希表第二种解释 方法二&#xff1a;拼接拆分算法流程 参考文献 本题要求我们对一个复杂链表进行复制。在复杂链表中&#xff0c;每个节点除了有一个next指针指向下一个节点&#xff0c;还有一个random指针指向链表中的任意…

SpringBoot+Vue 车辆充电桩系统

文章目录 1、效果演示效果图技术栈 2、 前言介绍&#xff08;完整源码请私聊&#xff09;3、主要技术3.4.1 数据库概念结构设计3.4.2 数据库具体设计 4 系统功能的具体实现4.1 前台功能模块4.1.1 首页功能4.1.2 用户后台管理 4.2 后台功能模块4.2.1 管理员功能4.2.2 维修员功能…

后端(三):后端实战(表白墙的设计)

上一章结束了 Servlet 的学习&#xff0c;ok&#xff0c;现在我们已经学会了 1 1 了&#xff0c;现在开始我们要学会 百以内的加减乘除法。 本章就做一个最简单的 小小项目&#xff1a;表白墙。 在开始表白墙项目开始之间&#xff0c;我们先提前说好&#xff0c;这里主要跟关…

海思3559万能平台搭建:SPI输出h264码流

前言 面对各种各样的客户需求&#xff0c;spi接口也是一种传码流的形式&#xff0c;spi同步422可以保证抗干扰能力强的同时传输距离也很长&#xff0c;本文会介绍海思平台spi作为主机的发送功能以及发送码流的处理方式 1. 管脚复用&#xff1a; 首先需要配置的肯定是管脚复用&…

java容器排序

Java的容器 在Java中&#xff0c;我们想要保存对象可以使用很多种手段。最简单的就是数组。但是数组具有固定的尺寸&#xff0c;而通常来说&#xff0c;程序总是在运行时根据条件来创建对象&#xff0c;我们无法预知将要创建对象的个数以及类型&#xff0c;所以Java推出了容器…

动态规划-最长的回文序列

这里写自定义目录标题 1 描述2 样例2.1 样例12.2 样例2 3 解题思路以及实现方法3.1 解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件和边界情况3.1.4 计算顺序 3.2 题解3.2.1 C实现3.2.2 java实现 该题是lintcode上 667 最长的回文序列&#xff0c;该题的解题思路亦是参…

方法选对,事半功倍:数据分析方法

人们发明了数据可视化&#xff0c;利用人类大脑更善于处理图像信息的特点&#xff0c;透过图形化的手段&#xff0c;用图表清晰有效地传达和沟通信息。把以往庞杂、繁乱的数据报表转化成简洁明了的可视化图表。 通过数据可视化制作出的图表&#xff0c;不再像传统分析方案那样…

JavaScript Web APIs学习总结

以后声明变量我们有限使用哪一个&#xff1f; const 有了变量先给const&#xff0c;如果发现它后面是要被修改的&#xff0c;再改为let 为什么const声明的对象可以修改里面的属性&#xff1f; 因为对象是引用类型&#xff0c;里面存储的是地址&#xff0c;只要地址不变&…

月入6000+的CSGO游戏搬砖项目操作细节和要求

月入6000的CSGO游戏搬砖项目操作细节和要求 最近咨询CSGO搬砖项目的人较多&#xff0c;在此整理一份统一的项目操作细节和要求。 1、什么是国外Steam游戏装备汇率差项目&#xff1f; 这个项目的基本原理是&#xff1a;购买国外Steam游戏平台上的装备&#xff0c;再在国内网易…

SSR渲染--02--nuxt demo(vue)

cmd 打开命令提示符&#xff0c;创建nuxt npm i create-nuxt-app -g create-nuxt-app vue-honor-of-kings&#xff08;这个是我的项目名&#xff0c;输入自己的项目名&#xff09; npm run dev创建的具体配置 【写demo为了方便&#xff0c;我直接下载了Element的包&#xff0…

游戏画面延迟的原因及解决方法

游戏画面延迟&#xff0c;是玩家在游戏中操作后&#xff0c;画面反应出现滞后或卡顿的现象。这会严重影响玩家的游戏体验和竞技水平&#xff0c;尤其是在一些需要高速反应和精确操作的3A大作中&#xff0c;画面延迟可能导致玩家错失良机或者被敌人击败。 那么&#xff0c;游戏…

电能质量监测装置在某半导体公司的应用

摘 要&#xff1a;半导体生产制造业在国民经济中起着举足轻重的作用&#xff0c;相关企业的规模也越来越大。其供配电系统稳定、可靠的运维不仅是其安全生产的基本保证&#xff0c;还关系到产品质量和生产的顺利进行。而半导体行业中大部分工艺设备对电能质量比较敏感&#xff…

《CDP企业数据云平台从入门到实践》——如何迁移CDH/HDP到CDP(2)

原文&#xff1a;《CDP企业数据云平台从入门到实践》——如何迁移CDH/HDP到CDP&#xff08;2&#xff09;-阿里云开发者社区 简介&#xff1a; 《CDP企业数据云平台从入门到实践》——如何迁移CDH/HDP到CDP&#xff08;2&#xff09; 《CDP企业数据云平台从入门到实践》——如…

Windows安装和配置VCenter

Vcenter的环境搭建和配置 Vcenter简介 Vcenter一般指 VMware vCenter™ Server&#xff0c;VMware vCenterServer 提供了一个可伸缩、可扩展的平台&#xff0c;为 虚拟化管理奠定了基础。 VMware vCenter Server&#xff08;以前称为 VMware VirtualCenter&#xff09;&#…