LeetCode
倒拔二叉树
这个作者很懒,什么都没留下…
展开
-
LeetCode55:跳跃游戏(贪心算法)
题目描述:给定一个非负整数数组nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。原题链接:力扣我们可以设置rightMost代表从第i个位置所能到达的最大位置,只要rightMost>=n-1就代表可以到达,否则不能到达。class Solution { public boolean canJump(int[] nums) { int rightMost=0; .原创 2021-10-24 16:23:11 · 3026 阅读 · 0 评论 -
LeetCode53最大子序和(动态规划)
原题链接:力扣 我们用 f(i)代表以第 i个数结尾的「连续子数组的最大和」,那么很显然我们要求的答案就是: 因此我们只需要求出每个位置的f(i),采用动态规划的原理我们可以知道f(i)=max(f(i-1)+nums[i],nums[i]) class Solution { public int maxSubArray(int[] nums) { int pre = 0, maxAns = nums[0...原创 2021-10-24 16:01:51 · 136 阅读 · 0 评论 -
LeetCode45. 跳跃游戏 II
原题链接:力扣class Solution { public int jump(int[] nums) { if(nums.length==1){ return 0; } int count=1; for(int i=0;i<nums.length;i++){ if(i+nums[i]>=nums...原创 2021-10-24 15:04:21 · 1451 阅读 · 0 评论 -
LeetCode22题:括号生成(递归)
题目描述:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。原题链接:力扣 分析:可以设置左括号的数量left=n和右括号的数量right=n,ans代表最终生成返回的所有的符合条件的括号组合,cur代表当前生成的一个括号组合,采用递归的思路,如果left>0或者right>0就递归,直到left=0&&...原创 2021-10-24 10:24:17 · 1876 阅读 · 0 评论 -
leetCode5. 最长回文子串(动态规划)
题目描述:给你一个字符串s,找到s中最长的回文子串。 回文串:就是可以正反都一样的字符串 根据回文串 的定义可以知道如果一个字符串是回文串,那么去掉它的开头和结尾它还是回文串。由此我们可以采用动态规划的思路求解 设s是总串 这里的其他情况包含二种,一种是s[i,j]本身不是回文子串,另一种是i>j这是不合法的 如此可以得到动态规划的方程: ...原创 2021-10-23 11:25:48 · 119 阅读 · 0 评论 -
LeetCode3. 无重复字符的最长子串(滑动窗口)
求最长无重复的子串,采用滑动窗口的原理。因为,我们假设i(left)是子串的左边的开始,rk(right)是子串右边的结束位置。可以发现如果当前子串继续向后遍历发现重复的的元素,那么从i到rk是可以确定是没有重复的元素的。 这样我们就可以使用滑动窗口来解决这个问题 我们定义二个指针左指针代表子串的起点,右子串代表子串的终点。 我们可以将左指针向后移动一步,代表我们开始枚举下一个子串的起点,然后我们可以不断的向后移动右指针并且要保证左右指针...原创 2021-10-23 10:35:31 · 77 阅读 · 0 评论