
leetcode
文章平均质量分 66
leetcode刷题
程序员Ale-阿乐
不要在该奋斗的年纪选择安逸。
展开
-
Leetcode刷题-交替数字和(Java)
从低位到高位遍历正整数的各位数字时,用当前位的数字减去前面低位的数字交替和。等遍历到最高位的时候,最高有效位上的数字分配到的符号正好是正号,所以就不需要另外用符号变量sign来保证各位数字分配到相应的正号或负号。解释:(+8) + (-8) + (+6) + (-9) + (+9) + (-6) = 0。解释:(+5) + (-2) + (+1) = 4。解释:(+1) + (-1) + (+1) = 1。剩余每位上数字的符号都与其相邻数字相反。返回所有数字及其对应符号的和。输入:n = 886996。原创 2023-07-12 17:07:28 · 65 阅读 · 0 评论 -
Leetcode刷题-最大子序列交替和(Java)
是从原数组中删除一些元素后(也可能一个也不删除)剩余元素不改变顺序组成的数组。解释:最优子序列为 [6,1,5] ,交替和为 (6 + 5) - 1 = 10。解释:最优子序列为 [4,2,5] ,交替和为 (4 + 5) - 2 = 7。解释:最优子序列为 [8] ,交替和为 8。输入:nums = [6,2,1,2,4,5]输入:nums = [4,2,5,3]输入:nums = [5,6,7,8]的一个子序列(加粗元素),但是。从 0 开始编号)。原创 2023-07-11 16:48:48 · 182 阅读 · 0 评论 -
Leetcode刷题-最接近的三数之和(Java)
如果a+b+c≥target,并且我们知道pb到pc这个范围内的所有数是按照升序排序的,那么如果pc不变而pb向右移动,那么a+b+c 的值就会不断地增加,显然就不会成为最接近target的值了。如果a+b+c<target,并且我们知道pb到pc这个范围内的所有数是按照升序排序的,那么如果pb不变而pc向左移动,那么a+b+c的值就会不断地减小,显然就不会成为最接近target的值了。那么如何进行优化呢?,根据它们与target的值的关系,选择「抛弃」左边界的元素还是右边界的元素,从而减少了枚举的范围。原创 2023-07-10 14:48:02 · 365 阅读 · 0 评论 -
Leetcode刷题-过桥的时间(Java)
如果没有正在过桥的工人,且桥右边也没有在等待的工人,同时旧仓库还剩下至少一个箱子需要搬运,此时在桥左边的工人可以过桥。的工人过桥去取箱子,将其加入到 work_right 队列中,令 remain 减 11,并将时间更改为过桥后的时间。的工人过桥,将其加入到 work_left 队列中,并将时间更改为过桥后的时间。旧仓库位于河的右岸,新仓库在河的左岸。在右侧等待的工人:wait_right,题目中定义的效率越高,优先级越高。在左侧等待的工人:wait_left,题目中定义的效率越高,优先级越高。原创 2023-07-07 15:52:16 · 108 阅读 · 0 评论 -
Leetcode刷题-左右元素和的差值(Java)
Leetcode刷题-左右元素和的差值(Java)原创 2023-07-07 15:18:20 · 107 阅读 · 0 评论 -
Leetcode刷题-两数之和(Java)
Leetcode刷题-两数之和(Java)原创 2023-07-06 18:40:29 · 98 阅读 · 0 评论 -
Leetcode刷题-拆分成最多数目的正偶数之和(Java)
Leetcode刷题-拆分成最多数目的正偶数之和(Java)原创 2023-07-06 15:16:41 · 95 阅读 · 0 评论