[leetcode]Longest Consecutive Sequence
这道题目一看就去翻答案了,因为以前见过,知道并查集可以用来做分组,但这样的题目真的要并查集么?想想也是HashSet之类就能搞定么。果然是HashMap而不是HashSet。下面这个解法我比较容易理解,刚开始乍看发现对每一个n又要左边遍历右边遍历的,仔细一看对每一段遍历过的数字就标记一下,那么保证每个数字只访问一次,还是O(n)。
public class Solution {public int longestConsecutive(int[] num) {HashMap<Integer, Boolean> map = new HashMap<Integer, Boolean>();int max = 0;for (int n : num){map.put(n, false);}for (int n: num){if (!map.get(n)){int len1 = getLength(map, n-1, -1);int len2 = getLength(map, n+1, 1);int len = len1 + len2 + 1;if (len > max) max = len;}}return max;}private int getLength(HashMap<Integer, Boolean> map, int n, int step){int len = 0;while (map.containsKey(n)){len++;map.put(n, true);n += step;}return len;}
}
转载于:https://www.cnblogs.com/lautsie/p/3315900.html
[leetcode]Longest Consecutive Sequence相关推荐
- LeetCode: Longest Consecutive Sequence [128]
[题目] Given an unsorted array of integers, find the length of the longest consecutive elements sequen ...
- LeetCode:Longest Consecutive Sequence
题目链接 Given an unsorted array of integers, find the length of the longest consecutive elements sequen ...
- [LeetCode] Longest Consecutive Sequence 求解
为什么80%的码农都做不了架构师?>>> 题目 Given an unsorted array of integers, find the length of the long ...
- leetcode Longest Consecutive Sequence
#include <iostream> #include <vector> #include <unordered_map>// 时间复杂度是O(n), 空间复杂度 ...
- LeetCode: Longest Consecutive Sequence
想到map了,可惜没想到用erase来节省空间,看了网上答案 1 class Solution { 2 public: 3 int longestConsecutive(vector<int&g ...
- 298. Binary Tree Longest Consecutive Sequence
题目: Given a binary tree, find the length of the longest consecutive sequence path. The path refers t ...
- leetcode 128. Longest Consecutive Sequence | 128. 最长连续序列(Java)
题目 https://leetcode.com/problems/longest-consecutive-sequence/ 题解 方法1:HashMap 解法,O(n^2) 如下图,假设 n=4 被 ...
- LeetCode 128. 最长连续序列(Longest Consecutive Sequence)
题目描述 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1 ...
- 128. Longest Consecutive Sequence
Title 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [ ...
最新文章
- 互联网协议 — TCP — 拥塞控制(网络质量保障)
- 做外贸如何获取同行的价格体系?转至【【Mr.Harris 原创】
- 正态分布为什么常见?
- ansible 配置文件优先级
- 【英语学习】【WOTD】imbroglio 释义/词源/示例
- 【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字
- 内存颗粒和闪存颗粒的区别_颠覆你的常识,这内存上面混搭了四个厂家的颗粒...
- spring揭秘 读书笔记 六 bean的一生
- 非常好用的php单文件在线文件管理器微网盘系统 万维景盛优化版
- 晶圆涨、封测涨、芯片涨、材料涨…涨价的野火烧到哪了?
- How to choose the number oftopics/partitions in a Kafka cluster?
- w7忘记计算机密码,win7系统忘记电脑开机密码的解决方法
- 盒子模型与PS基本操作
- Three——二、加强对三维空间的认识
- HGAME2022 Web WP
- 网安之php开发第十五天
- 创业时代,喔,创业时代,有一点可爱有一点呆
- 电子邮件乱码产生的主要原因及几种解决方法
- win10开启虚拟机蓝屏死机解决问题
- 不要再问租用服务器一个月多少钱了?你看到的都是别人想给你看的!
热门文章
- Linux各类压宿包的压缩和解压方法
- 【2020团体程序设计天梯赛】L1部分(PTA,L1-065到L1-072)题解代码
- java graphics dispose_Graphics.Dispose 方法 (System.Drawing) | Microsoft Docs
- java 实现打印条形码_激光打印机与条码打印机打印不干胶标签哪个好?
- Lc19删除链表的倒数第N个节点
- wdatepicker 设置只显示时分_液晶显示多功能电力仪表EX8-33
- C++类成员的初始化顺序
- 2016蓝桥杯C++A:网友年龄
- 递归法:走楼梯; 旋转数组的最小数字(递归法和改进二分法)
- HDU 4553:约会安排(区间合并)