| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【LeetCode hot100】跳跃游戏,合并区间,不同路径,颜色分类 -> 正文阅读 |
|
[数据结构与算法]【LeetCode hot100】跳跃游戏,合并区间,不同路径,颜色分类 |
目录 55. 跳跃游戏 - 力扣(LeetCode)?思路:贪心算法。贪心算法是每一次都关注局部最优解,当局部最优解能够构造出全局最优解的时候,贪心算法就可以使用。没有固定模板,基本思路就是:
本题就是遍历数组中每一个位置,实时维护最远可以达到的位置,使用i + nums[i] 更新可以达到的最远的位置。如果最远的位置大于等于数组中的最后一个位置,输出True,反之为false。(python and c++)
时间复杂度:O(n),n为数组大小; 空间复杂度:O(1),不需要额外的空间开销; 56. 合并区间 - 力扣(LeetCode)思路:使用排序,将数组中最左端排序,之后遍历数组中的每一个列表,若遍历到的列表的右端小于先前的左端点,则合并,比较当前和前一个的右端点的大小;若当前遍历到的列表的右端点大于先前列表的左端点,则无需合并,存储到merged列表中即可。(python and c++)
时间复杂度:O(nlogn);排序的时间开销 空间复杂度:O(nlogn);排序的空间开销; 62. 不同路径 - 力扣(LeetCode)?思路:使用动态规划,机器人每一次只能往右走或者往下走,定义dp[i][j]是走到当前位置的总的路径数,dp[i][j] = dp[i][j-1] + dp[i-1][j],定义边界条件,当dp[i][0]
?
注意:python中的列表推导式的写法需要注意;c++中定义二维数组的方式需要注意。 时间复杂度:O(mn); 空间复杂度:O(mn);如果用滚动数组代替代码中的二维数组,可以使空间负责度降低为O(n); 75. 颜色分类 - 力扣(LeetCode)思路: 待补 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:44:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |