LeetCode
我好想吃烤地瓜
我也想吃奥利奥
展开
-
Leetcode面试经典150_Q238除自身以外数组的乘积
之中任意元素的全部前缀元素和后缀的乘积都在。之外其余各元素的乘积。时间复杂度内完成此题。原创 2024-04-09 11:09:57 · 158 阅读 · 0 评论 -
Leetcode面试经典150_Q274H指数
给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3 0 6 1 5 次。由于研究者有 3 篇论文每篇。篇论文被引用的次数。计算并返回该研究者的 h。被引用了 3 次,其余两篇论文每篇被引用。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。是指他(她)至少发表了。原创 2024-04-09 10:54:41 · 199 阅读 · 0 评论 -
Leetcode面试经典150_Q134加油站
如果x到达不了y+1,那么x-y之间的点也不可能到达y+1,因为中间任何一点的油都是拥有前面的余量的,所以下次遍历直接从y+1开始。,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回。你从其中的一个加油站出发,开始时油箱为空。你有一辆油箱容量无限的的汽车,从第。个加油站需要消耗汽油。原创 2024-04-09 10:45:57 · 218 阅读 · 0 评论 -
Leetcode面试经典150_Q45跳跃游戏II
跳到最后一个位置的最小跳跃数是 2,路线:0-1--1。向前跳转的最大长度。生成的测试用例可以到达。处,你可以跳转到任意。原创 2024-04-09 10:38:59 · 222 阅读 · 0 评论 -
Leetcode面试经典150_Q28找出字符串中第一个匹配项的下标
字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。原创 2024-04-09 10:28:20 · 213 阅读 · 0 评论 -
Leetcode面试经典150_Q55跳跃游戏
数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。原创 2024-04-09 09:46:23 · 163 阅读 · 0 评论 -
Leetcode面试经典150_Q58最后一个单词的长度
由若干单词组成,单词前后用一些空格字符隔开。是指仅由字母组成、不包含任何空格字符的最大子字符串。最后一个单词是“World”,长度为5。原创 2024-04-09 00:30:19 · 126 阅读 · 0 评论 -
Leetcode面试经典150_Q14最长公共前缀
最长公共前缀的长度不会超过字符串数组中的最短字符串的长度。可以在 [0,minLength] 的范围内通过二分查找得到最长公共前缀的长度。每次取查找范围的中间值 mid,判断每个字符串的长度为 mid 的前缀是否相同,如果相同则最长公共前缀的长度一定大于或等于 mid,如果不相同则最长公共前缀的长度一定小于 mid,通过上述方式将查找范围缩小一半,直到得到最长公共前缀的长度。编写一个函数来查找字符串数组中的最长公共前缀。对两个子问题分别求解,然后对两个子问题的解计算最长公共前缀,即为原问题的解。原创 2024-04-09 00:24:55 · 151 阅读 · 0 评论 -
Leetcode面试经典150_Q13罗马数字转整数
若存在小的数字在大的数字的左边的情况,根据规则需要减去小的数字。对于这种情况,我们也可以将每个字符视作一个单独的值,若一个数字右侧的数字比它大,则将该数字的符号取反。通常情况下,罗马数字中小的数字在大的数字的右边。若输入的字符串满足该情况,那么可以将每个字符视作一个单独的值,累加每个字符对应的数值即可。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。,即为两个并列的 1。原创 2024-04-09 00:07:09 · 336 阅读 · 0 评论 -
Leetcode面试经典150_Q122买卖股票的最佳时机II
再来考虑 dp[i][1],按照同样的方式考虑转移状态,那么可能的转移状态为前一天已经持有一支股票,即 dp[i−1][1],或者前一天结束时还没有股票,即 dp[i−1][0],这时候要将其买入,并减少 prices[i] 的收益。如果这一天交易完后手里没有股票,那么可能的转移状态为前一天已经没有股票,即 dp[i−1][0],或者前一天结束的时候手里持有一支股票,即 dp[i−1][1],这时候要将其卖出,并获得 prices[i] 的收益。这若干个区间长度为 1 的区间的价值和,即。原创 2024-04-08 15:13:09 · 634 阅读 · 0 评论 -
Leetcode面试经典150_Q121买卖股票的最佳时机
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。买入这只股票,并选择在。原创 2024-04-08 14:50:25 · 107 阅读 · 0 评论 -
Leetcode面试经典150_Q189轮转数组
根据规则,位置 0 的元素会放至 (0+k) mod n 的位置,令 x=(0+k) mod n,此时交换 temp 和 nums[x],完成位置 x 的更新。然后考察位置 x,并交换 temp 和 nums[(x+k) mod n],从而完成下一个位置的更新。不断进行上述过程,直至回到初始位置 0。,将数组中的元素向右轮转。原创 2024-04-08 14:42:27 · 244 阅读 · 0 评论 -
Leetcode面试经典150_Q169多数元素
遍历数组 nums 中的所有元素,对于每个元素 x,在判断 x 之前,如果 count 的值为 0,我们先将 x 的值赋予 candidate,随后我们判断 x;你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。原创 2024-04-08 14:29:50 · 502 阅读 · 0 评论 -
Leetcode面试经典150_Q80删除有序数组中的重复项 II
删除重复出现的元素,使得出现次数超过两次的元素。注:要求最多k个重复数字 则前k个可以不必检查。并在使用 O(1) 额外空间的条件下完成。不要使用额外的数组空间,你必须在。,返回删除后数组的新长度。原创 2024-04-08 14:14:31 · 642 阅读 · 0 评论 -
Leetcode面试经典150_Q26删除有序数组中的重复项
返回删除后数组的新长度。删除重复出现的元素,使每个元素。原创 2024-04-08 14:05:54 · 204 阅读 · 0 评论 -
Leetcode面试经典150_Q27移除元素
双指针:右指针指向当前将要处理的元素,左指针指向下一个将要赋值的位置。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。原创 2024-04-07 17:40:28 · 249 阅读 · 0 评论 -
Leetcode面试经典150_Q88合并两个有序数组
核心思路:数组1尾部有足够空间,因此倒序排序可以在时间&空间复杂度最小的情况下完成任务。最终,合并后数组不应由函数返回,而是存储在数组。个元素表示应合并的元素,后。中,使合并后的数组同样按。原创 2024-04-07 17:05:05 · 237 阅读 · 0 评论