力扣热题100
万雅过往
学学代码啊万宝!
展开
-
LeetCode 热题100-6
这个题写的太复杂了...用了hash、集合...想法是先把数组排个序,随后用双指针从头开始遍历,然后去hash表中找target是否存在,去重的方式是用集合的方式天然去重(把元素先sorted然后tuple一下扔进集合,因为集合不支持hash列表 - - 字典当然也不支持),虽然做了一部分“剪枝”,但是代码速度也不快。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。,判断是否存在三元组。原创 2024-08-15 19:12:45 · 207 阅读 · 0 评论 -
LeetCode 热题100-5
这道题目没做出来...知道要用双指针,但是用的从一端开始循环的双指针遍历,顶多修剪一下第一个指针下一次跳跃的位置,但是依然逃不过超时(⊙﹏⊙)图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。类似那种金字塔式的三角,相当于考虑的方法的最差情况了...直接变成o(n2)所以只需要遍历到最中间,两指针相遇的时候看存的面积最大是多少就好了。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。原创 2024-08-15 10:53:39 · 122 阅读 · 0 评论 -
LeetCode 热题100-4
遍历一遍后,将按照相对位置填入所有非零元素,剩余的位置补0即可。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。原创 2024-08-14 16:46:54 · 120 阅读 · 0 评论 -
LeetCode 热题100-3
而此时,又进入下一次循环了,2>3>4>5>6>7>8 =====>hashmap[2] = 7(连续次数),而此时这里是不需要的,因为1在2前面,2------>8的过程是多余的,就需要及时止损,而止损方式就是通过hashmap看看x-1是否存在,因为如果存在的话,不需要计算这遍循环了(如果x-1在前面遍历过了,那么已经算出来了;如果x-1在后面,那么后面会算到的!1->2>3>4>5>6>7>8 =====>hashmap[1] = 8(连续次数)例如, 1,2,3,4,5,6,7,8。原创 2024-08-14 14:33:25 · 116 阅读 · 0 评论 -
LeetCode 热题100-1
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以想出一个时间复杂度小于。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2024-08-14 10:00:32 · 209 阅读 · 0 评论 -
LeetCode 热题100-2
例如ate,eat,他们字母元素数都是一样的,那么解题思路是对于每个元素都进行字母的排序,随后进入hashmap中去找,看是否能够找到,如果能够找到,那么在res数组中按照类别的索引去添加该元素;若找不到,则在hashmap中创建该排序后的元素类;tan ->"ant"->存放在hashmap["ant"] = 1。如:ate -> "aet"->存放在hashmap[“aet”] = 0。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。原创 2024-08-14 10:42:23 · 367 阅读 · 0 评论