![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode热门100
humannoid
学无止境
展开
-
49 字母异位词分组
思路 异位词的意思是相同字母 但是组合方式不同 那么它们排序之后是相同的,所以将它们排序后作为map的key值,如果相同就用list.add 进去。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。给你一个字符串数组,请你将。原创 2024-04-09 22:14:18 · 172 阅读 · 0 评论 -
11. 盛最多水的容器
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。思路:双指针 area=(r -l)* height 如果长版向中间移动长一定会变短,高可能会变短或不变。短板向中间一段长一定会变短,高可能会不变也可能会变长。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。原创 2024-04-06 21:16:24 · 134 阅读 · 0 评论 -
121. 买卖股票的最佳时机
思路: 想求得最高利润,如果第一天成本比第二天低,那么可以跳过第二天,同理,求最高利润,相当于求前i天的最高利润,只需要关注前i天最低成本,然后遍历数组,用每一项去减最低成本。在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。原创 2024-04-06 19:52:31 · 220 阅读 · 0 评论 -
1. 两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2024-04-06 15:43:01 · 197 阅读 · 0 评论 -
3. 无重复字符的最长子串
先从头遍历每个字符 设指针k=-1 当头指针为i=0 也就是第一个字符 此时子串为1(i-k)如果每个字符不同就放到哈希表中,字符相同就更新指针k,指向最近一次相同字符所出现的位置。思路:求不重复最长子串,采用双指针+哈希表实现。,请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。原创 2024-04-06 15:36:42 · 239 阅读 · 0 评论 -
15,三数之和
思路:先将数组由小到大排序,然后让从头遍历数组,再设两个左右指针,左指针为从头遍历的指针+1,右指针为数组长度-1;三数之和为0,从头遍历的指针设为i,如果nums[i]>0,就break;如果nums[i]==nums[i-1] 就continue 然后开始用双指针遍历数组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。如果sum>0 就让 r-- 跳过重复的相同数字。注意,输出的顺序和三元组的顺序并不重要。唯一可能的三元组和不为 0。唯一可能的三元组和为 0。原创 2024-04-06 14:56:33 · 203 阅读 · 0 评论 -
热门一百题 leetcode 5. 最长回文子串
思路:找回文子串,从给定的字符串中,从头开始遍历每个字符,对每个字符先向左扩充,如果和当前字符相等,就再往做扩;然后再向右扩充,如果和当前字符相等就向右扩充;然后如果左右字符相等向左右同时扩充。这样就能得到最长的回文子串。原创 2024-04-05 21:39:47 · 93 阅读 · 0 评论