题解 | #连续的牛群标签序列#
连续的牛群标签序列
https://www.nowcoder.com/practice/5db36ae74c274176a0cf9274e9f9ed3e
题目考察的知识点是:
哈希表的运用。
题目解答方法的文字分析:
使用哈希表来记录每个牛的标签和其所在的连续序列的长度。当遇到一个牛的标签时,我们首先检查该标签是否已经记录在哈希表中。如果是新的标签,我们检查该标签左右是否存在相邻的标签,计算出当前牛所在的连续序列的长度,并更新哈希表中相关的键值对。。
本题解析所用的编程语言:
java语言。
完整且正确的编程代码:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tag int整型一维数组
* @return int整型
*/
public int longestConsecutive (int[] tag) {
// write code here
Set<Integer> set = new HashSet<>();
for (int ta : tag) {
set.add(ta);
}
int length = 0;
int maxLength = 0;
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext()) {
int temp = iterator.next();
length = 0;
while (set.contains(temp++)) {
length++;
}
if (maxLength < length) {
maxLength = length;
}
}
return maxLength;
}
}
#题解#