直接看代码分析即可:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
//1 2 3 4 5 6 7,降雨量为七周中的中位数,也就是第4周
/*
如果正常按照顺序排序,那么数据将会是这样子的:
1,2,3|4|5,6,7,
8,9,10|11|12,13,14,
15,16,17|18|19,20,21,
22,23,24|25|26,27,28, 这里是第四周
29,30,31|32|33,34,35,
36,37,38|39|40,41,42,
43,44,45|46|47,48,49,
这样排序好像也海星?但是题目要求的是最大值
也就是说我们在保证每一周都比上一周大的同时,还要尽量确保第四周的值尽可能的大
要完成这样,也就得在后面几周来消耗前面的小数,如1,2,3
这样才能保证每一周的增长都是大的
从后面几周来推算
49 48 47 46 3 2 1 这样保证最后一周是最大的同时,又消耗掉了3,2,1
45 44 43 42 6 5 4 消耗掉了 6,5,4
41 40 39 38 9 8 7 消耗掉了 7 8 9
37 36 35 34 12 11 10 消耗掉了 12 11 10
33 32 31 30 15 14 13 消耗掉了 15 14 13
29 28 27 26 18 17 16 消耗掉了 18 17 16
25 24 23 22 21 20 19 消耗掉了 21 20 19
然后再把它转换过来看,因为中位数是需要升序来排的
第七周:1 2 3 46 47 48 49
第六周: 4 5 6 42 43 44 45
第五周: 7 8 9 38 39 40 41
第四周: 10 11 12 34 35 36 37
第三周: 13 14 15 30 31 32 33
第二周: 16 17 18 26 27 28 29
第一周: 19 20 21 22 23 24 25
再按照周数来排中位数,也就是从第一周排到第七周(上面我们已经进行了排序)
22,26,30,34,39,43,47
这时候的中位数就是34,大于我们正常排序得到的中位数
*/
System.out.println(34);
}
}