![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 82
Noncambiaremai
这个作者很懒,什么都没留下…
展开
-
LeetCode 746.使用最小花费爬楼梯
这里的最后一个楼梯实际上是cost最后一个元素的后面一个元素,是没有显示出来的,所以返回的时候返回cost数组的最后两个元素中比较小的那个就可以了。爬楼梯只能从前一个或者前两个台阶爬,所以每次需要判断前两个元素哪个更小,选择小的那个数值加在当前的值上就可以实现累加的效果。一开始我想着创建一个新的数组空间来存每一步的总最低花费,然后我自己在纸上推导了一遍发现可以直接在原数组空间上存。一旦你支付此费用,即可选择向上爬一个或者两个台阶。前两个元素不用遍历,所以for循环从第三个元素开始。原创 2023-07-30 14:24:49 · 20 阅读 · 0 评论 -
LeetCode 1137.第N个泰波那契数
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2。将Tn存在数组中,循环得到Tn即可。,请返回第 n 个泰波那契数 Tn 的值。原创 2023-07-30 13:49:47 · 58 阅读 · 1 评论 -
LeetCode 875.爱吃香蕉的珂珂
最小是1,每小时最少要吃1个香蕉;最大是maxCount,maxCount是所有香蕉堆中最多的那个堆的香蕉数量,每小时最多吃maxCount个香蕉。使用二分法,我们需要找到最小的速度k,所以在left = 1,right = maxCount中二分查找。如果实际需要的时间小于或等于规定时间,则表示速度太快了,需要降低速度求最小速度,所以移动二分的右边界。如果实际需要的时间大于规定时间,则表示速度太慢了,吃不完,还需要提速,所以移动二分的左边界。根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。原创 2023-07-29 23:48:53 · 44 阅读 · 1 评论 -
LeetCode 338.比特位计数
如果一个数x是奇数,那么x的二进制的1的个数 = x / 2的二进制的1的个数 + 1。如果一个数x是偶数,那么x的二进制的1的个数 = x / 2的二进制的1的个数。从0到n遍历求就可以了,类似于动态规划的遍历。,计算其二进制表示中。原创 2023-07-31 01:43:50 · 66 阅读 · 1 评论 -
LeetCode 198.打家劫舍
假设遍历到第i个房屋,因为不能偷相邻的房屋,所以不用管第i-1个房屋,maxCount与nums[i-2]比较,给maxCount赋值成nums[i-2]和maxCount中大的那一个。为了找到能够偷窃的最大金额,设置一个变量maxCount来记录最大金额,每遍历到一个新的房屋,就比较是否需要更新maxCount。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,遍历过程中nums[i]加上maxCount,每个元素的值表示从第1个房屋偷到这个房屋能偷到的最高金额。原创 2023-07-30 15:36:28 · 29 阅读 · 1 评论 -
LeetCode 62.不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。只能向下走和向右走,所以路径数 = 左边格子的路径数 + 上面格子的路径数。网格的左上角 (起始点在下图中标记为 “Start” )。第一行和第一列需要初始化,只有1条路径。问总共有多少条不同的路径?原创 2023-07-31 14:36:22 · 25 阅读 · 1 评论 -
LeetCode 735.行星碰撞
对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。左行星爆炸,所以左行星出栈,而右行星不可以入栈,还需要判断左边是否还有冲突的行星,所以需要再次进行判断。代码中我使用了i–,进入新的循环,但执行了i–之后输入元素还是上一轮的元素,所以可以实现再次判断。栈顶元素是左边的行星,输入元素是右边的行星。右行星爆炸,所以左行星不出栈,右行星不入栈,进入下一轮循环。两个行星都爆炸,左行星出栈,右行星不入栈,进入下一轮循环。,表示在同一行的行星。原创 2023-07-27 17:42:07 · 168 阅读 · 1 评论 -
LeetCode 374.猜数字大小
来获取猜测结果,返回值一共有 3 种可能的情况(你可以通过调用一个预先定义好的接口。原创 2023-07-29 16:59:34 · 24 阅读 · 1 评论 -
LeetCode 1431.拥有最多糖果的孩子
对每一个孩子,检查是否存在一种方案,将额外的。注意,允许有多个孩子同时拥有。个糖果分配给孩子们之后,此孩子有。个孩子拥有的糖果数目。原创 2023-07-25 18:05:37 · 34 阅读 · 0 评论 -
LeetCode 605.种花问题
头部和尾部都有连续两个0,但是判定条件是连续3个元素都是0才可以种花,实际上在头部和尾部连续两个0就可以种花了,所以在头尾都额外加0,遍历可以不用讨论头尾的特殊情况,同时也不会影响最后的计算结果。连续遇到3个0则我们假设会在第2个0的位置种一朵花,种了花之后,如果i++再次判断,那第1个数一定是1,所以没有再次判断的必要,直接选择i+2就可以了。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。例如:0 0 1 0 0 1 0 0 -> 0 0 0 1 0 0 1 0 0 0。原创 2023-07-25 22:01:29 · 54 阅读 · 0 评论 -
LeetCode 1732.找到最高海拔
有一个自行车手打算进行一场公路骑行,这条路线总共由。个不同海拔的点组成。原创 2023-07-26 18:03:56 · 132 阅读 · 1 评论 -
LeetCode 724.寻找数组的中心下标
如果 所有元素的和 - 当前元素值 = 两倍前缀和 ----> 当前元素前缀和 + 当前元素后缀和 = 两倍前缀和 ----> 前缀和 = 后缀和***2.遍历元素求前缀和,如果所有元素的和减去当前遍历到的这个元素等于两倍前缀和,则返回索引。是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。所有元素的和 = 当前元素值 + 当前元素前缀和 + 当前元素后缀和。所有元素的和 - 当前元素值 = 当前元素前缀和 + 当前元素后缀和。如果中心下标位于数组最左端,那么左侧数之和视为。原创 2023-07-26 19:33:22 · 88 阅读 · 1 评论 -
LeetCode 2390.从字符串中移除星号
星号之后的字符串**。给你一个包含若干星号。原创 2023-07-27 15:09:44 · 101 阅读 · 1 评论 -
LeetCode 238.除自身以外数组的乘积
之中任意元素的全部前缀元素和后缀的乘积都在。请**不要使用除法,**且在。时间复杂度内完成此题。之外其余各元素的乘积。原创 2023-07-26 02:38:27 · 40 阅读 · 1 评论 -
LeetCode 345.反转字符串中的元音字母
仅反转字符串中的所有元音字母,并返回结果字符串。,且可能以大小写两种形式出现不止一次。原创 2023-07-26 01:32:26 · 38 阅读 · 1 评论 -
LeetCode 334.递增的三元子序列
判断这个数组中是否存在长度为。如果存在这样的三元组下标。原创 2023-07-26 16:49:09 · 59 阅读 · 1 评论 -
LeetCode 1768.交替合并字符串
开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。原创 2023-07-25 16:39:58 · 141 阅读 · 0 评论