京东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工程师##笔试题目##题解#