![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode--哈希表
LeetCode--哈希表
欢脱的婷子
每天努力一点点!
展开
-
LeetCode # 128 最长连续序列
给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例:输入:[100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。解题思路:用一个哈希表来存储以每个数组元素为开始,最长的连续序列的长度,最后比较求出最大值。class Solution { public int longestConsecutive(int[] nums) { Map<Integ..原创 2020-07-05 18:07:48 · 89 阅读 · 0 评论 -
LeetCode # 594 最长和谐子序列
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].解题思路:使用一个map集合来记录数组中每个元素出现的次数,和谐子序列中只存在两个元素的值,因此再次遍历数组,寻找到最大值。class Solution { public int findLHS(int[] nums)原创 2020-07-05 17:04:25 · 134 阅读 · 0 评论 -
LeetCode # 217 存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解题思路: 利用set集合的特性,循环整个数组,将元素加入set,最后比较set的容量和数组长度是否相同,若set容量小于数组长度,说明数组中存在...原创 2020-07-05 16:53:42 · 81 阅读 · 0 评论 -
LeetCode# 1. 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路:利用一个...原创 2020-05-01 10:39:22 · 170 阅读 · 0 评论