We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
/*
* 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();
}
}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Picking Numbers
You are viewing a single comment's thread. Return to all 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 {
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")));
}