京东8.24Java开发笔试
第一题合唱队,首先复制一个身高数组copyH,把复制数组排序得到每个身高所处的正确的位置。之后从左往右遍历输入的数组h,记录遇到的最大值gMax,当gMax == copyH[i]时,我们得到一个分组。
···
package jd;
import java.util.Arrays;
import java.util.Scanner;
public class E1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int[] h = new int[n];
int[] copyH = new int[n];
for(int i = 0; i < n; ++i) {
h[i] = in.nextInt();
copyH[i] = h[i];
}
Arrays.sort(copyH);
System.out.println(maxGroups(h, copyH));
}
}
private static int maxGroups(int[] h, int[] copyH) {
int cnt = 0;
int gMax = Integer.MIN_VALUE;
for(int i = 0; i < h.length; ++i) {
gMax = Math.max(gMax, h[i]);
if(gMax == copyH[i]) ++cnt;
}
return cnt;
}
}
#京东##内推##Java工程师##笔试题目##题解#
