• + 0 comments

    java15:

    import java.io.; import java.math.; import java.security.; import java.text.; import java.util.; import java.util.concurrent.; import java.util.function.; import java.util.regex.; import java.util.stream.*; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList;

    class Result {

    /*
     * Complete the 'pickingNumbers' function below.
     *
     * The function is expected to return an INTEGER.
     * The function accepts INTEGER_ARRAY a as parameter.
     */
    

    public static int pickingNumbers(List numbers) { Map countingMap = numbers.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); Set keySet = countingMap.keySet(); int maxLength = 1; for(Integer val:keySet) { int currLength=countingMap.get(val).intValue(); int prevLength = countingMap.get(val-1) == null ? 0 : countingMap.get(val-1).intValue() + currLength; int nextLength = countingMap.get(val+1) == null ? 0 : countingMap.get(val+1).intValue() + currLength; maxLength = IntStream.of(maxLength, currLength, prevLength, nextLength).max().getAsInt(); } return maxLength; } }

    public class Solution { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

        int n = Integer.parseInt(bufferedReader.readLine().trim());
    
        List<Integer> a = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());
    
        int result = Result.pickingNumbers(a);
    
        bufferedWriter.write(String.valueOf(result));
        bufferedWriter.newLine();
    
        bufferedReader.close();
        bufferedWriter.close();
    }
    

    }