【LeetCode】HOT 100(10)

news2024/11/18 8:10:54

题单介绍:

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

目录

题单介绍:

题目:56. 合并区间 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:62. 不同路径 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:56. 合并区间 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {

    }
};

解题思路:

这道题也不难,就是一个简单的更新边界,

我就直接根据题意,

如果左边界小就更新左边界,

如果右边界大就更新右边界,

如果上一个数的右边界 < 当前数的左边界,证明证明区间结束了,

一开始这样写没过,

发现,题目给的数是无序的,在前面sort一下就行,这个规律只适合升序排列

另外我这种方法写的,最后一组区间会漏掉,最后处理一下就行。

代码如下:

代码:

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        vector<vector<int>> vv;
        if(intervals.empty()) return vv; 
        sort(intervals.begin(), intervals.end()); //排序
        int left = INT_MAX, right = -1; //确保第一次进入逻辑的时候能更新left和right
        for(int i = 0; i < intervals.size(); i++) { //遍历
            if(right != -1 && right < intervals[i][0]) { //第一次不进来,如果上一个数的右边界 < 这个数的左边界,证明证明区间结束了
                vector<int> v{left, right}; //插入区间
                vv.push_back(v);
                left = intervals[i][0]; //开始计算新的区间
                right = intervals[i][1];
            }
            if(intervals[i][0] < left) left = intervals[i][0]; //如果左边界小就更新左边界
            if(intervals[i][1] > right) right = intervals[i][1]; //如果右边界大就更新右边界
        }
        vector<int> v{left, right}; //处理最后一组区间
        vv.push_back(v);
        return vv;
    }
};

过过过过啦!!!!

题目:62. 不同路径 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int uniquePaths(int m, int n) {

    }
};

解题思路:

这道题我一眼看过去,就感觉可以用搜索做,

但是很显然题目的时间复杂的要求不让,

只能使用动态规划来做,不过这道题是简单动态规划,我也来尝试一下,

根据题目我们可以知道,一个格子的路径数量是由他上面和左边的格子决定的,

所以我们其实就可以写出动态规划的转移方程:

dp[ i ][ j ] = dp[ i - 1 ][ j ] + dp[ i ][ j - 1 ];

不过要确保第一行第一列都是从1开始。

代码如下:

代码:

class Solution {
public:
    int uniquePaths(int m, int n) {
        vector<vector<int>> dp(m, vector<int>(n, 1)); //初始化成1,满足条件
        for(int i = 1; i < m; i++) {
            for(int j = 1; j < n; j++) {
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; //推出的状态转移方程
            }
        }
        return dp[m - 1][n - 1];
    }
};

过过过过啦!!!!

写在最后:

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

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

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

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

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

相关文章

5月总共面试31次,我人麻了....

3年测试经验原来什么都不是&#xff0c;只是给你的简历上画了一笔&#xff0c;一直觉得经验多&#xff0c;无论在哪都能找到满意的工作&#xff0c;但是现实却是给我打了一个大巴掌&#xff01;事后也不会给糖的那种... 先说一下自己的个人情况&#xff0c;普通二本计算机专业…

华为OD机试真题 JavaScript 实现【寻找密码】【2023Q1 100分】,附详细解题思路

一、题目描述 小王在进行游戏大闯关&#xff0c;有一个关卡需要输入一个密码才能通过&#xff0c;密码获得的条件如下&#xff1a; 在一个密码本中&#xff0c;每一页都有一个由 26 个小写字母组成的若干位密码&#xff0c;从它的末尾开始依次去掉一位得到的新密码也在密码本…

母线保护(4)

4、母联死区保护 在各种母差保护中&#xff0c;存在一个共同的问题&#xff0c;就是死区问题。 如图&#xff0c;在母联合位时&#xff0c;当故障发生在母联断路器与母联CT之间时&#xff0c;故障电流由II母流向I母&#xff0c;I母小差有差流&#xff0c;判断为I母故障&#x…

yum安装nginx

Nginx介绍 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;并在一个BSD-like 协议下发行。其特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上Nginx的并发能力确实在同类型的网页服务器中表现较好&…

电脑提示由于找不到vcomp140.dll无法继续执行代码怎么修复呢?这个三个方法可以帮到你

在我们打开游戏或者获取软件的时候&#xff0c;点击电脑提示由于找不到vcomp140.dll无法继续执行代码需要怎么办呢&#xff1f;vcomp140.dll是什么呢&#xff1f;相信困扰着不少小伙伴&#xff0c;vcomp140.dll是Microsoft Visual C Redistributable中的一个动态链接库文件&…

牛客网Java面试题及答案整理(2023年秋招最新版,持续更新)

学习如逆水行舟&#xff0c;尤其是 IT 行业有着日新月异的节奏&#xff0c;我们更要抓紧每一次可以学习和进步的机会。所以&#xff0c;没有撤退可言。 即使是面试跳槽&#xff0c;那也是一个学习的过程。只有全面的复习&#xff0c;才能让我们更好的充实自己&#xff0c;武装…

基于Java高校专业信息管理系统设计与实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

Spring Security--会话管理

就像登录qq一样&#xff0c;一个手机登录会将另外一个手机挤下线&#xff0c;这个就叫会话管理。 这个东西非常简单&#xff0c;在默认情况下可以登录n多次&#xff0c;一旦开启&#xff0c;就不允许登录多个。 什么是一个会话。 我们简单理解就是一个浏览器的同一个用户算一…

Redux 异步解决方案2. Redux-Saga中间件

利用Generator特性实现异步 因为Generator。结合yield yield操作符会获取右边表达示的值返回 可以用于异步变同步操作 中间件的特性: 以前的 action -> reducers -> store 现在的 action -> middleware -> reducers -> store 注意&#xff1a; reducer的type…

群晖云同步失败?一直卡在连接中怎么办?

群晖云同步是群晖NAS的一款基于网络的数据备份和同步服务&#xff0c;它可以帮助我们在不同设备之间轻松地同步文件、照片、文档等&#xff0c;并且支持自动化执行同步备份任务&#xff0c;让您的数据存储更加安全。 虽然群晖云同步能给我们带来很多便利&#xff0c;但是在…

yolov5 6.1 关于 tensorrt 加速的使用以及问题说明

文章目录 1. 参考连接2. 使用说明2.1 导出加速模型2.1 使用加速模型2.2 加速参数对比 3. 问题说明3.1 在 Tensorrt 8.4.1.5 版本上使用 export.py 导出失败的问题3.2 把模型文件由 best.pt 更换成加速后的 best.engine 后&#xff0c;执行推理时标注的类别名不正确的问题3.3 导…

面向教育机构的IT管理

多年来&#xff0c;高等教育见证了一些惊人的技术创新&#xff0c;包括远程学习、VR 和 AR 实验室、物联网等。随着技术席卷高等教育领域&#xff0c;机构有望高度依赖其技术基础设施&#xff0c;将学生的想法变为现实&#xff0c;以支持学习渠道并促进研究和合作。 另一方面&…

JMeter发送表单数据,响应体报错:参数校验异常

请求方式是post&#xff0c;请求参数就是表单形式。这个时候我们可以把请求参数写到参数里&#xff0c;也可以选择写到消息体数据里。 1、如果是写到参数中&#xff0c;那Content-Type默认就是表单格式&#xff0c;不需要格外添加HTTP信息头管理器。 2、如果是写到消息体数据中…

语音消息实现(聊天向)

语音消息实现记录下&#xff1a; SpringBootVue3客服项目&#xff0c;网页录制发送语音消息 Vue中使用js-audio-recorder插件实现录音功能并实现上传Blob数据到SpringBoot后台接口 2fps/recorder github地址 Recorder的API 语音测试地址 [Web] 4分钟搭建一个简洁好看的 We…

如何购买北京法拍房

1、对于有限购的法拍房来说&#xff0c;在没有购房者资格的前提下&#xff0c;请不要跟拍&#xff0c;就算是房子拍下来了&#xff0c;没办法过户的话&#xff0c;房子还不能算是你的&#xff0c;弃权则被罚保证金。2、对于没有限购的法拍房来说&#xff0c;在没有购房资格的前…

动态规划dp —— 24.最长湍流子数组

解释&#xff1a;数组中子数组中相邻数值一升一降称为湍流子数组 示例1&#xff1a; 1.状态表示 是什么&#xff1f;dp表中里的值所表示的含义就是状态表示 因为i位置是有两种情况&#xff1a;1.上升趋势 2.下降趋势 所以需要定义两种状态表示来把两种情况分开 f[i]表示&am…

抖音自动生成视频、字幕、自动上传发布

dy-auto ✨ 抖音自动生成视频、字幕、自动上传发布✨ 项目地址 点击进入https://github.com/Richard0403/dy-auto 录屏效果 https://github.com/Richard0403/dy-auto/assets/14147304/21400a42-9296-4956-9517-ced8d8bf4737 技术架构 名称功能ffmpeg处理视频的生成&…

Vue中如何进行Markdown文档展示与解析?

Vue中如何进行Markdown文档展示与解析&#xff1f; Markdown是一种轻量级的标记语言&#xff0c;可以在文本中使用简单的标记来表示格式和排版。在Vue项目中&#xff0c;Markdown文档的使用越来越普遍&#xff0c;因此在Vue中如何进行Markdown文档展示与解析也成为了一个热门话…

数据湖仓一体化架构:探究新一代数据处理的可能性

一、引言 随着大数据的快速发展&#xff0c;企业不断寻求高效、灵活和经济的方法来处理和管理海量数据。在这种背景下&#xff0c;数据湖和数据仓库这两种不同的架构模式各自展现出其独特的优势。而数据湖仓一体化架构&#xff0c;是对这两种模式优势的综合&#xff0c;为企业…

9. WebGPU 平移变换

我们将开始编写与顶点缓冲区文章中的示例类似的代码&#xff0c;但这次将绘制单个 F 而不是一堆圆&#xff0c;并使用索引缓冲区来保持数据更小。 让我们在像素空间而不是裁剪空间中工作&#xff0c;就像 Canvas 2D API 我们将制作一个 F&#xff0c;将从 6 个三角形构建它 …