• + 0 comments

    my solution in java 8:

    public static int pickingNumbers(List<Integer> a) {
        // Write your code here
            int max = Integer.MIN_VALUE; 
            Map<Integer,List<Integer>> maps = new HashMap<>();
            for (Integer e : a) {
                if (maps.containsKey(e)) {
                    List<Integer> list = maps.get(e);
                    list.add(e);
                    maps.put(e, list);
                }
                else{
                    List<Integer> list = new ArrayList<>();
                    list.addAll(a.stream().filter(element->element==e+1).collect(Collectors.toList()));
                    maps.put(e, list);
                }
            }
            for (Map.Entry<Integer,List<Integer>> entry : maps.entrySet()) {
                if(entry.getValue().size()+1 > max){
                    max = entry.getValue().size()+1;
                }
            }
            return max;
        }