Longest Consecutive Sequence 【LeetCode】
来源:互联网 发布:淘宝上买尼康d750港货 编辑:程序博客网 时间:2024/06/07 11:12
KeyWords:
哈希Hash 动规DP
思路:
1. 将所有数存到一个HashSet中(采用Set的话自动忽略重复数字)
2. 遍历数组中每一个元素,在HashSet中向左向右寻找边界,并删除这些元素(防止后面重复查找),得到当前元素所在的最长sequence长度,更新max值
3. 返回max
整个过程类似一个探索的过程,已被探索出的元素将被删除,不断探索未知元素,并动态更新max
public int longestConsecutive(int[] num) {HashSet<Integer> numSet = new HashSet<Integer>();int longest = 1;for (int each : num) {numSet.add(each);}for (int each : num) {if(numSet.contains(each)){int eachlen = 1;int buf = each;while (numSet.contains(buf - 1)) {eachlen++;numSet.remove(buf - 1);buf--;}buf = each;while (numSet.contains(buf + 1)) {eachlen++;numSet.remove(buf + 1);buf++;}numSet.remove(each);longest = eachlen > longest ? eachlen : longest;}}return longest;}
<span style="font-size:14px;">if(numSet.contains(each)) 和 <span style="text-align: -webkit-auto;">numSet.remove(each) 其实有些冗余,去掉的话不影响功能也不会增加太多的时间冗余</span></span>
<span style="font-size:14px;"><span style="text-align: -webkit-auto;">加上是为了增强代码的可读性,易于理解~</span></span>
0 0
- Leetcode : Longest Consecutive Sequence
- [Leetcode] Longest Consecutive Sequence
- [leetcode] longest consecutive sequence
- 【leetcode】Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode]Longest Consecutive Sequence
- leetcode:Longest Consecutive Sequence
- [Leetcode]Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- leetcode Longest Consecutive Sequence
- Leetcode: Longest Consecutive Sequence
- LeetCode:Longest Consecutive Sequence
- [leetcode] Longest Consecutive Sequence
- LeetCode-Longest Consecutive Sequence
- LeetCode - Longest Consecutive Sequence
- [LeetCode] longest consecutive sequence
- LeetCode | Longest Consecutive Sequence
- [leetcode]Longest Consecutive Sequence
- 如何在spring框架中解决多数据源的问题
- 装饰模式 C#
- APS和IOP的LaTex模板的问题
- 效率最高的Excel数据导入
- restful Web 服务编程,REST 与 SOAP
- Longest Consecutive Sequence 【LeetCode】
- C/C++的类型安全
- 森纵怎么走
- JAVA通过 URLConnection 获取HTTP接口
- iOS系统的Javascript与Objective-C互操作指南
- User breakpoint called from code at 0x7c92120e
- GridLayout—网格布局
- bootstreap2中标签页(tab)无法响应的问题
- ANdroid如何实现网络重定向以及使用DownLoadManager类下载