应该说阿里的这场比试不难,但第一题没想到这么简单,自己还想着遇到相同数子回溯的问题,耽误了时间,结果第二题没有及时写出来。就差了五分钟啊
第二题
public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[n]; int[] minb = new int[n]; int max = 0; int[] res = new int[n]; int mi = 0; for(int i = 0; i < n; i++){ a[i] = in.nextInt(); minb[i] = a[i]; max = Math.max(max, a[i]); } res[mi++] = max; for(int i = 1; i < n; i++){ max = 0; for(int j = i; j < n; j++){ minb[j - i] = Math.min(minb[j - i], a[j]); } for(int k = 0; k < n - i; k++){ max = Math.max(max, minb[k]); } res[mi++] = max; } System.out.print(res[0]); for(int i = 1; i < n; i++){ System.out.print(" " + res[i]); } }
全部评论
(8) 回帖