数组中的最长连续序列
来源:互联网 发布:php socket可以做什么 编辑:程序博客网 时间:2024/05/22 03:04
import java.util.*;//数组中的最长连续序列public class LongestSequence{//最长的连续序列 public static int longestConsecutive(int[]arr) { if(arr==null||arr.length==0) { return 0; } int max=1; //key 表示遍历的某个数 value表示最长连续序列的长度 HashMap<Integer,Integer>map=new HashMap<Integer,Integer>(); for(int i=0;i<arr.length;i++) { if(!map.containsKey(arr[i])) { map.put(arr[i],1); if(map.containsKey(arr[i]-1)) { max=Math.max(max,merge(map,arr[i]-1,arr[i])); } } if(map.containsKey(arr[i]+1)) { max=Math.max(max,merge(map,arr[i],arr[i]+1)); } } return max; } //左右位置的长度合并 public static int merge(HashMap<Integer,Integer>map,int less,int more) { int left=less-map.get(less)+1; int right=more+map.get(more)-1; int len=right-left+1; map.put(left,len); map.put(right,len); return len; } public static void main(String[]args) { int arr[]={100,4,200,1,3,2}; System.out.println(longestConsecutive(arr)); }}
阅读全文
0 0
- 数组中的最长连续序列
- 数组中的最长连续序列---dp实现
- 数组中最长连续序列
- 递归与动态规划---数组中的最长连续序列
- 数组的最长连续的序列
- 无序数组中最长连续序列
- 数组——数组中最长连续序列
- 【最长连续序列问题】
- 最长连续序列
- 最长连续序列
- 最长连续序列
- 连续最长子序列
- 最长连续子序列
- 最长连续序列
- 最长连续序列
- lintcode ----最长连续序列
- 最长连续序列长度
- 最长连续子序列
- [duyi]171222 DOM
- (三)java数据库篇笔记库(35)
- java设计模式(二)---抽象工厂模式
- 控制字体样式+弹性盒子模型[后面](个人认为rgba比较重要:因为在做hover的效果时用的比较多还有弹性盒子模型,做导航栏很方便的)
- 烦人的幻灯片
- 数组中的最长连续序列
- Maximum Subarray
- WPF下Window设置WindowStyle="None"时实现鼠标拖动移动窗口位置
- Java中为什么long能自动转换成float类型
- 信与信封问题 SSL_1331(最大匹配)
- python dlib学习(十):换脸
- mysql换行与textarea换行中的坑(textarea与mysql数据不一致)
- Linux如何查看所有的用户和组信息
- 信与信封问题