今日頭條校招筆試
阿新 • • 發佈:2019-02-08
4
20 23 35 40
滿足:
1. a<=b<=c
2. b-a<=10
3. c-b<=10
求最少還需要多少個數才能滿足。
每套試卷3道題,且不能重複。
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static void pop(ArrayDeque deque, int n) {
for (int i = 0; i < n; i++) {
deque .pollLast();
}
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
int n = cin.nextInt();
int a[] = new int[n];
for (int i = 0; i < n; i++) {
a[i] = cin.nextInt();
}
Arrays.sort(a);
ArrayDeque<Integer> deque = new ArrayDeque<>();
int ans = 0;
for (int i = 0; i < n; i++) {
if (!deque.isEmpty()) {
while (!deque.isEmpty() && a[i] - deque.peek() > 10) {
deque.offerFirst(deque.peek() + 10);
ans++;
while (deque.size() >= 3) {
pop(deque, 3);
}
}
}
deque.offerFirst(a[i]);
while (deque.size() >= 3) {
pop(deque, 3);
}
}
System.out.println(ans + (deque.size() == 0 ? 0 : 3 - deque.size()));
}
}
}