[quote=引用 11 楼 三仙半 的回复:] 我觉得这个问题没有那么复杂,一趟循环就解决了。 int[] src = new int[] { 34, 568, 141, 568, 2 }; int first; int sec; if (src[0] > src[1]) { first = src[0]; sec = src[1]; } else { first = src[1]; sec = src[0]; } for (int i = 2; i < src.length; i++) { if (src[i] > sec) { sec = src[i]; if(src[i]>first) { sec = first; first=src[i]; } } } System.out.println(sec);
int[] src = new int[] { 34, 568, 141, 568, 2 }; int first; int sec; if (src[0] > src[1]) { first = src[0]; sec = src[1]; } else { first = src[1]; sec = src[0]; } for (int i = 2; i < src.length; i++) { if (src[i] > sec) { sec = src[i]; if(src[i]>first) { sec = first; first=src[i]; } } } System.out.println(sec);
我觉得这个问题没有那么复杂,一趟循环就解决了。 int[] src = new int[] { 34, 568, 141, 568, 2 }; int first; int sec; if (src[0] > src[1]) { first = src[0]; sec = src[1]; } else { first = src[1]; sec = src[0]; } for (int i = 2; i < src.length; i++) { if (src[i] > sec) { sec = src[i]; if(src[i]>first) { sec = first; first=src[i]; } } } System.out.println(sec);
我的想法是首先从小排大排序,然后再倒序遍历小于第一个最大值,那就是第二大数值,这样可不可行?
[quote=引用 楼主 Verkkars的回复:]我的想法是首先从小排大排序,然后再倒序遍历小于第一个最大值,那就是第二大数值,这样可不可行?
[quote=引用 楼主 yesaid的回复:]我的想法是首先从小排大排序,然后再倒序遍历小于第一个最大值,那就是第二大数值,这样可不可行?
[quote=引用 26 楼 maradona1984 的回复:] [quote=引用 24 楼 qq_40674493 的回复:] 相同的人全部列出就可以了。问题没说只能有一个吧。哪里矛盾了? 别辩论了,是你钻牛角尖了。自己跟自己过不去。
62,612
社区成员
307,332
社区内容
加载中
试试用AI创作助手写篇文章吧