![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode算法
文章平均质量分 76
sherlock31415931
这个作者很懒,什么都没留下…
展开
-
java 汉诺塔问题 递归
题目链接https://leetcode-cn.com/problems/hanota-lcci/题目介绍面试题 08.06. 汉诺塔问题在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移原创 2021-03-04 20:10:49 · 238 阅读 · 1 评论 -
python leetcode 动态规划 最长公共子序列
题目链接https://leetcode-cn.com/problems/longest-common-subsequence/题目介绍最长公共子序列给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」原创 2021-01-25 14:35:34 · 162 阅读 · 2 评论 -
python3 动态规划 leetcode 连续子数组的最大和
题目链接https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/题目介绍剑指 Offer 42. 连续子数组的最大和输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。class Solution:原创 2021-01-24 07:26:05 · 313 阅读 · 6 评论 -
python leetcode 俄罗斯套娃信封 动态规划
题目链接https://leetcode-cn.com/problems/russian-doll-envelopes/题目介绍俄罗斯套娃信封问题给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,原创 2021-01-22 19:36:57 · 287 阅读 · 0 评论 -
最长递增子序列 python leetcode 动态规划
题目链接https://leetcode-cn.com/problems/longest-increasing-subsequence/题目介绍最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3原创 2021-01-22 09:17:33 · 679 阅读 · 2 评论 -
VScode 快捷键 提高开发效率
说明此篇是整理提高开发效率的小工具快捷键leetcode测试ctrl+'提交ctrl+enterVScode终端ctrl+j , ctrl+` 两者分别都可以开关终端,十分方便命令ctrl+shift+p查找工作区下文件ctrl+p光标移动Alt 可以将光标从代码移动到顶上的菜单栏,然后按 Enter键就可打开创建新文件ctrl+n(个人建议还是打开一个工作区,在工作区里面直接命名文件后缀确定格式,省得新建之后还要保存选择)保存文件ctrl+s打开新窗原创 2021-01-21 09:35:29 · 354 阅读 · 1 评论 -
python 爬楼梯 动态规划 算法 leetcode
题目链接https://leetcode-cn.com/problems/climbing-stairs/题目介绍爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶class Solution: def climbStairs(self, n: int) -> int:原创 2021-01-20 16:21:55 · 297 阅读 · 0 评论 -
python3 动态规划 数组 最长连续递增子序列
题目链接https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/题目介绍最长连续递增序列给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …,原创 2021-01-19 21:41:49 · 1623 阅读 · 4 评论 -
python leetcode 动态规划 编辑距离
题目链接https://leetcode-cn.com/problems/edit-distance/题目介绍编辑距离给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose原创 2021-01-19 15:10:22 · 183 阅读 · 3 评论 -
python 斐波那契数列 算法
斐波那契数,通常用F(n)表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1纯递归递归有两个基本要素:基例以及递归关系式。基例:F(0) = 0,F(1) = 1,即递归结束的地方递归关系式:原创 2021-01-18 15:43:56 · 1455 阅读 · 14 评论 -
动态规划 leetcode零钱兑换
题目链接https://leetcode-cn.com/problems/coin-change/题目介绍322. 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amo原创 2021-01-19 11:30:54 · 118 阅读 · 1 评论