题解 | #连续的牛群标签序列#
连续的牛群标签序列
https://www.nowcoder.com/practice/5db36ae74c274176a0cf9274e9f9ed3e
- 题目考察的知识点
哈希表
- 题目解答方法的文字分析
遍历数组,将所有数组元素放入HashSet。遍历数组,看小于当前元素的值t-1是不是在HashSet里面,如果不是,我们计算以当前值n开头的连续序列长度。
- 本题解析所用的编程语言
java
- 完整且正确的编程代码
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tag int整型一维数组
* @return int整型
*/
public int longestConsecutive (int[] tag) {
HashSet<Integer> set = new HashSet<>();
for(int t:tag){
set.add(t);
}
int maxlen = 0;
for(int t:tag){
if(!set.contains(t-1)){//判断元素是不是数列开头
int count =0;
while(set.contains(t++)){//判断序列是否到头了
count++;
}
if(maxlen<count){
maxlen = count;
}
}
}
return maxlen;
}
}