package leetCode; import java.util.HashMap; import java.util.Map; /** * User: FR * Time: 1/4/15 6:01 PM * * Given an unsorted array of integers, find the length of the longest consecutive elements sequence. * For example, * Given [100, 4, 200, 1, 3, 2], * The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4. * Your algorithm should run in O(n) complexity. */ public class LongestConsecutiveSequence { public int longestConsecutive(int[] num) { int maxCounter=0; Map<Integer, int[]> map = new HashMap<Integer, int[]>(); for(int n : num){ if(map.containsKey(n)) continue; int[] array = new int[2]; array[0]=n; array[1]=n; map.put(n, array); } for(int n : map.keySet()){ if(map.containsKey(n-1)){ map.get(n)[0] = map.get(n-1)[0]; } if(map.containsKey(n+1)){ map.get(n)[1] = map.get(n+1)[1]; } if((map.get(n)[1] - map.get(n)[0]+1)> maxCounter){ maxCounter = map.get(n)[1] - map.get(n)[0]+1; } map.get(map.get(n)[0])[1]=map.get(n)[1]; map.get(map.get(n)[1])[0]=map.get(n)[0]; } return maxCounter; } public static void main(String[] args){ int[] a = {-3,2,8,5,1,7,-8,2,-8,-4,-1,6,-6,9,6,0,-7,4,5,-4,8,2,0,-2,-6,9,-4,-1}; LongestConsecutiveSequence l = new LongestConsecutiveSequence(); System.out.println(l.longestConsecutive(a)); } }
相关推荐
答案leetcode-cn-java-algorithm-solution 我试图找到学习 leetcode 算法的最佳方法,所以我创建了它。 该项目将帮助您更好地学习 Leetcode 算法。 1. 入门 你想知道如何使用吗? 好的,现在让我们开始吧! 1.1 如何...
leetcode 答案LeetCode-答案-Java 我的 leetcode 用伪代码和分析用 java 回答
leetcode题库所有数据库问题 Leetcode 所有数据库问题:Leetcode 问题 Active-Businesses-LeetCode.png 活跃用户-LeetCode.png 活动-参与者-LeetCode.png 至少合作过三次的演员和导演-LeetCode.png Ads-Performance-...
leetcode 答案Leetcode-Java - 符合条件(Hacktoberfest) JAVA 中的 Leetcode 答案
LeetCode-Python-Java zhouzhenping/LeetCode-Python&Java 参考代码来源 力扣(LeetCode) 链接: 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 Github 01 两数之和 给定一个整数数组 ...
解压Leetcode-Solution-With-Java 用 Java 8 解决 Leetcode 问题 编号 问题 解决方案 困难 01 简单的 02 中等的 03 无重复字符的最长子串 中等的 04 两个有序数组的中位数 难的 653 二和 IV - 输入是 BST 简单的 ...
leetcode Leetcode-Java-解决方案 Java 中 Leetcode 问题的解决方案
awesome-java-leetcode 我如今是一名 Android Developer,大学的我曾是一名 ACMer,我一直认为数据结构和算法是作为一名程序员必须掌握和善于利用的,为了不让数据结构和算法淡出我的记忆,所以我打算重拾 LeetCode ...
leetcode-java LeetCode Java Solution 题目 : : : : more : : : : : : more : : : 题解 recursion 104题解 解法:递归 复杂度:O(n)、O(h) class Solution { public int maxDepth(TreeNode root) { //...
leetcode-for-Java Record the process of leetcode for Java. 引言 记录一下,在leetcode上刷题的过程。 前期以刷题为主。有空的话就更新一下这个目录,然后顺带把有写问题的解题思路写上。 目录
leetcode题库 leetcode-java 用Java实现leetcode题库
LeetCode-solution 其实在一开始的时候,只是简单的把 LeetCode 上的题目刷一遍,把答案按照题号分开,上传到 GitHub 但是,其实这样子是没用的,如果只是为了看一眼答案,大可不必来到 GitHub 上面找,LeetCode 的 ...
leetcode 答案Leetcode---数据库 我对 Leetcode 数据库问题的回答
LeetCode-Practice-Java leetcode 练习题 这个项目就是自己练习leetCode的实际Demo 有些公司就会问一些算法问题,即便是不问的话自己不学这块感觉也对不起自己的职业。。。 所以自己在学习的时候 也打算把优秀的答案...
leetcode 中国leet-code-java 力码练习
LeetCode-Java 说明 leetcode练习,坚持每天一道,目前已完成275道 解题语言是Java 每道题都是可编译运行的 每道题有自己的方法和他人优秀解法 每道题会尽量分析一下解题步骤和复杂度 欢迎star、fork、交流,一起...
java lru leetcode LeetCode-Tag-Java 解决方案 LeetCode 的解决方案 指数
leetcode-java Introduction The legacy_code implementations in Java sorted by solving method. problem's title as the class name. With as many possible solutions which from brute force to optimized ...
本仓库内包含了java实现的leetcode解法,代码规范,可读性良好,其中的解法思想并不受语言限制。 BFS(Breath First Search) bfs能解决什么样的问题 图遍历中是否可达、最短路径等等。 普通bfs解题框架 一个boolean[]...
leetcode 跳跃 LeetCode-Java 缺失的第一个正数 接雨水 跳跃游戏 II