LeetCode
文章平均质量分 63
今天也要更努力哦
区块链工程在读大学生一枚,希望逐渐学习。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
198.打家劫舍
这里为了迭代方便,增加了一个profit[0]=0代表什么都还没偷的时候,这样也方便n>=1的时候不用分类讨论。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。偷窃到的最高金额 = 1 + 3 = 4。原创 2024-08-04 18:04:25 · 390 阅读 · 0 评论 -
70. 爬楼梯
70. 爬楼梯已解答简单相关标签相关企业提示假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?n = 22有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶n = 33有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶。原创 2024-08-04 13:27:58 · 414 阅读 · 0 评论 -
26.删除排序数组中的重复项
已解答简单相关标签相关企业提示给你一个的数组nums,请你删除重复出现的元素,使每个元素,返回删除后数组的新长度。元素的应该保持。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为knumsnumsknumsnumsnumsk系统会用下面的代码来测试你的题解:// 输入数组// 长度正确的期望答案// 调用i < k;i++) {如果所有断言都通过,那么您的题解将被。函数应该返回新的长度2,并且原数组nums的前两个元素被修改为1, 2。原创 2024-08-02 17:33:11 · 305 阅读 · 0 评论 -
274.H指数
274. H 指数274. H 指数已解答go,java语言中等相关标签相关企业提示给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且有h篇论文被引用次数大于等于h。如果h有多种可能的值,h是其中最大的那个。3给定数组表示研究者总共有5篇论文,每篇论文相应的被引用了由于研究者有 3 篇论文每篇被引用了 3次,其余两篇论文每篇被引用。原创 2024-08-01 22:59:39 · 887 阅读 · 0 评论 -
167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组已解答中等相关标签相关企业给你一个下标从开始的整数数组numbers,该数组已按,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是和,则。以长度为 2 的整数数组的形式返回这两个整数的下标index1和index2。你可以假设每个输入,而且你重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。27[1,2]2 与 7 之和等于目标数 9。因此 index1 = 1, index2 = 2。原创 2024-08-01 18:42:58 · 421 阅读 · 0 评论 -
1991.找到数组中间位置
评:时间复杂度为O(n^2),不过这种做法做了很多重复的计算。下标 3 之前的数字和为:2 + 3 + -1 = 4。下标 2 之前的数字和为:1 + -1 = 0。(也就是所有可能中间位置下标最小的一个)。不存在符合要求的 middleIndex。,如果不存在这样的中间位置,请你返回。下标 3 之后的数字和为:4 = 4。无嵌套循环,时间复杂度为O(n)。下标 2 之后的数字和为:0。下标 0 之前的数字和为:0。下标 0 之后的数字和为:0。,左边部分的和定义为。,右边部分的和定义为。原创 2024-07-29 18:51:24 · 278 阅读 · 0 评论 -
383.赎金信
看到题目的第一眼就应该想到用map去映射,字符映射它的数量.当不存在或者使用后数量为0还需使用的时候,就可以返回false了。不过实际上,如果碰到。原创 2024-07-28 21:37:13 · 347 阅读 · 0 评论 -
121. 买卖股票的最佳时机
实际上,我们在遍历的时候就可以存储最大值,不用最后再去遍历一遍,本来如果数组就大,再遍历一遍时间花销就更多了。不过时间复杂度仍然为O(n^2),空间复杂度为O(1)。时间复杂度为O(n),空间复杂度为O(1)。当然,如果觉得这种比大小的写法拖沓,也可以将比大小的函数自定义出来,笔者在这不再赘述。在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。买入这只股票,并选择在。原创 2024-07-28 20:06:50 · 195 阅读 · 0 评论 -
88. 合并两个有序数组
值得注意的是,当i==m或者j==n的时候,代表有一边已经走到了尽头,另一边剩余的元素直接全加上即可。注意,因为 m = 0 ,所以 nums1 中没有元素。代码分析:实际上,他说要合成一个非递减序列,最直观的一个思想就是,直接把两段拼接起来,时间复杂度还是没有改变,还是(n+m)log(n+m),主要是排序的时间花销。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。原创 2024-07-28 16:46:33 · 386 阅读 · 0 评论 -
169.多数元素
如果只是要单纯做对这道题,最直观的思想就是,将其存入map中,利用map[value]=number,只要遍历一遍,就能将所有的数组值当作键存入map中,对应的数量也能存入到对应的键值对里去。不过需要注意的是,这种做法需要单独判断只有一个元素的时候。时间复杂度为O(n),但是空间复杂度为O(n)代表算法还是能继续优化。尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。原创 2024-07-28 11:49:56 · 294 阅读 · 0 评论 -
2740. 找出分区值
可以将数组 nums 分成 nums1 = [10] 和 nums2 = [100,1]。可以将数组 nums 分成 nums1 = [1,2] 和 nums2 = [3,4]。- 数组 nums1 的最大值等于 10。- 数组 nums2 的最小值等于 1。- 数组 nums1 的最大值等于 2。- 数组 nums2 的最小值等于 3。分区值等于 |10 - 1| = 9。分区值等于 |2 - 3| = 1。可以证明 1 是所有分区方案的最小值。返回表示分区值的整数。原创 2024-07-28 10:49:06 · 244 阅读 · 0 评论 -
两数之和25101
如果也存在,又因为题目说了唯一性,那就可以不用再找了,再遍历原切片(未排序的状态),找到对应的索引值即可。如果二分查找完i从1到target/2的所有值,都不在切片中,那就不用遍历数组找索引了,从此可见如果target/2的值远远远小于nums[]的长度的时候,判断有没有这样一对索引存在还是有可取之处的。但是归根到底这样是错的,因为target分成两个数,这个数可正可负,比如一个是负数,另一个可以是比target大的正数,而且target也不一定是负数。整数,并返回它们的数组下标。,请你在该数组中找出。原创 2024-07-22 02:49:05 · 292 阅读 · 0 评论
分享