草庐IT

LeetCode题2两数相加

全部标签

LeetCode题3无重复字符的最长字串

3.无重复字符的最长字串0、分析简单分析一下:要求无重复字符的最长子串的长度。长度值可以用一个变量保存,至于最大长度,只需要在每轮循环中对长度变量值与当前无重复字符的子串长度求最大值即可,那么问题就转变成了如何在循环中找出所有无重复字符的子串。为便于叙述,下文使用s表示原字符串,bs表示子串,ndcs表示无重复字符的子串,lndcs表示最长的无重复字符的子串1、暴力双循环基于以上分析,可以用双循环暴力去解决,下面是一种实现?:functionlengthOfLongestSubstring(s){constn=s.lengthletans=0for(leti=0;i本解法好处是粗暴直观,坏处就

LeetCode题3无重复字符的最长字串

3.无重复字符的最长字串0、分析简单分析一下:要求无重复字符的最长子串的长度。长度值可以用一个变量保存,至于最大长度,只需要在每轮循环中对长度变量值与当前无重复字符的子串长度求最大值即可,那么问题就转变成了如何在循环中找出所有无重复字符的子串。为便于叙述,下文使用s表示原字符串,bs表示子串,ndcs表示无重复字符的子串,lndcs表示最长的无重复字符的子串1、暴力双循环基于以上分析,可以用双循环暴力去解决,下面是一种实现?:functionlengthOfLongestSubstring(s){constn=s.lengthletans=0for(leti=0;i本解法好处是粗暴直观,坏处就

LeetCode-45. 跳跃游戏II - 题解分析

题目来源45.跳跃游戏II题目详情给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0i+j返回到达 nums[n-1]的最小跳跃次数。生成的测试用例可以到达nums[n-1]。示例1:输入:nums=[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。 从下标为0跳到下标为1的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例2:输入:nums=[2,3,0,1,4]输出:2提示:10题目保证可以到达 nums[n-1]

LeetCode-45. 跳跃游戏II - 题解分析

题目来源45.跳跃游戏II题目详情给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0i+j返回到达 nums[n-1]的最小跳跃次数。生成的测试用例可以到达nums[n-1]。示例1:输入:nums=[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。 从下标为0跳到下标为1的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例2:输入:nums=[2,3,0,1,4]输出:2提示:10题目保证可以到达 nums[n-1]

LeetCode 84.柱状图中最大的矩形 | 单调栈的使用 | 解题思路及算法 Java

柱状图中最大的矩形原题:84.LargestRectangleinHistogram题目描述:给定\(n\)个非负整数,用来表示柱状图中每个柱子的高度。每个柱子相邻且宽度为1。求这个柱状图中能容纳的最大矩形的面积。思路:对于一个柱状图中的最大矩形,我们可以观察出如下性质:矩形的高必等于某个柱子的高度,也就是矩形的上边与某个柱子的上边在同一条直线上。证明:假设上述不成立。那对于每个柱子,它们的高都比这个最大矩形的高至少大1。因此我们可以增加这个矩形的高,得到一个更大的矩形,并且这个矩形还在柱状图中。因此这个矩形不是最大的矩形,得出悖论。因此此条性质成立。矩形的左边柱子的高度小于矩形高度,矩形的右

LeetCode 84.柱状图中最大的矩形 | 单调栈的使用 | 解题思路及算法 Java

柱状图中最大的矩形原题:84.LargestRectangleinHistogram题目描述:给定\(n\)个非负整数,用来表示柱状图中每个柱子的高度。每个柱子相邻且宽度为1。求这个柱状图中能容纳的最大矩形的面积。思路:对于一个柱状图中的最大矩形,我们可以观察出如下性质:矩形的高必等于某个柱子的高度,也就是矩形的上边与某个柱子的上边在同一条直线上。证明:假设上述不成立。那对于每个柱子,它们的高都比这个最大矩形的高至少大1。因此我们可以增加这个矩形的高,得到一个更大的矩形,并且这个矩形还在柱状图中。因此这个矩形不是最大的矩形,得出悖论。因此此条性质成立。矩形的左边柱子的高度小于矩形高度,矩形的右

动态规划的解题套路leetcode案例分析

今天我们来讲解leetcode案例分析,如何动态规划的解题套路,态规划的核心思想,以前经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。下面一起来学习动态规划的套路,文章要有不正确的地方,欢迎大家来吐槽,感谢感谢~什么是动态规划?动态规划的核心思想一个例子走进动态规划动态规划的解题套路leetcode案例分析公众号:捡田螺的小男孩什么是动态规划?动态规划(英语:Dynamicprogramming,简称DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重

动态规划的解题套路leetcode案例分析

今天我们来讲解leetcode案例分析,如何动态规划的解题套路,态规划的核心思想,以前经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。下面一起来学习动态规划的套路,文章要有不正确的地方,欢迎大家来吐槽,感谢感谢~什么是动态规划?动态规划的核心思想一个例子走进动态规划动态规划的解题套路leetcode案例分析公众号:捡田螺的小男孩什么是动态规划?动态规划(英语:Dynamicprogramming,简称DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重

LeetCode 977. 有序数组的平方

给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121] 提示:1-104nums已按非递减顺序排序 进阶:请你设计时间复杂度为O(n)的算法解决本问题 分析:  不能忽略题干的信息:数组本身为非递减的顺序,由此可分为三种情况讨论:  1、数组元素全都大于等于0,此时返回数组元素自身的平

LeetCode 977. 有序数组的平方

给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121] 提示:1-104nums已按非递减顺序排序 进阶:请你设计时间复杂度为O(n)的算法解决本问题 分析:  不能忽略题干的信息:数组本身为非递减的顺序,由此可分为三种情况讨论:  1、数组元素全都大于等于0,此时返回数组元素自身的平