输入数据包括一行:
一共n个整数,范围均在32位整数内,格式见输入样例
输出最长的连续数字的长度
[3,1,2,5,7,4,8,9]
5
import java.util.*; public class Main { public static int longestConsecutive(int[] nums){ Set<Integer> set = new HashSet<>(); for(int num:nums){ set.add(num); } int longestStreak = 0; for(int num:set){ if(!set.contains(num-1)){ int currNum = num; int currStreak = 0; while(set.contains(currNum)){ currNum++; currStreak++; } longestStreak = Math.max(longestStreak, currStreak); } } return longestStreak; } public static void main(String[] args){ Scanner scan = new Scanner(System.in); String input = scan.nextLine(); input = input.substring(1,input.length()-1); String[] inputArray = input.split(","); int[] inputNum = new int[inputArray.length]; for(int i=0; i<inputNum.length; i++){ inputNum[i] = Integer.parseInt(inputArray[i]); } System.out.println(longestConsecutive(inputNum)); } }NowCoder的评判系统是真的不好用,还要自己写一个main函数来读取输入,鬼知道它输入的是个什么鬼东西。