- 浏览: 619786 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
kongqinglong:
我艹,不好使,大骗子
基于Eclipse的FindBugs中文插件发布了 -
worket123:
误人子弟,不会就不要乱发
基于Eclipse的FindBugs中文插件发布了 -
accphc:
策略工厂实现Spring的ApplicationContext ...
Spring与策略模式 -
老凯和他的Java:
我也一直不漏的看完了,感触颇深,还是要多花花时间陪陪父母
纪念一位伟大的女性 -
IT_jingying:
认真的看完了,每一位母亲都是伟大的,她为自己的子女,家庭付出的 ...
纪念一位伟大的女性
题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。
如:2,5,-6,12,7,15,6,-10
结果应该是输出:12,7,15
最大值: 34
我的思路1:
1.先统计处累加的数组,数组长度是原始数组长度-2
2.计算新数组的最大值
3.根据最大值的位置输出原始数组的三个数字
4。输出最大值
思路2(如果可以打乱原始数组的次序):
1。先冒泡排序一次,从小到大排序
2。计算最后三个数字的值,得到结果
评论
15 楼
zlx19900228
2010-10-19
得到了新数组的最大值,那新数组的当前元素的下标,下标+1,下标+2就是原数组相加的3个元素
14 楼
zhuandiqiu
2010-10-19
每次遍历一个数,判断这个数是不是比当前和最大的三个数最小的数还要小,如果小就不用加了,在一些情况下可以快一点
13 楼
lyw985
2010-10-19
dsjt 写道
lyw985 写道
感觉这题变简单了,
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
import java.util.Hashtable; import java.util.Map; public class Test { public static void main(String[] args) { System.out.println(calcMaxSum(new int[] { 9, -11, 2, 3, 4, -10, 6, 3 })); System.out.println(calcMaxSum(new int[] { 2, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 4, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 3, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 2, -3, 1, 10, -6, 7 })); } /** * 返回值的 key 数组index ,value 为连续的数量(包括自身) * * @param ns * @return */ public static Map<Integer, Integer> calcMaxSum(int[] ns) { Map<Integer, Integer> map = new Hashtable<Integer, Integer>(); // 最大连续和值(未考虑 int 型求和溢出问题) int maxSum = ns[ns.length - 1]; // 向索引增大方向所能取得的最大连续和值 int seriesSum = 0; // 向索引增大方向所能取得最大连续和值时,的最大索引 int endIndex = ns.length - 1; for (int i = ns.length - 1; i >= 0; i--) { if (seriesSum > 0) { seriesSum += ns[i]; } else { seriesSum = ns[i]; endIndex = i; } if (seriesSum > maxSum) { maxSum = seriesSum; map.clear(); map.put(i, endIndex - i + 1); } else if (seriesSum == maxSum) { map.put(i, endIndex - i + 1); } } return map; } }
挺好~
12 楼
jwx0925
2010-10-19
scholers 写道
jwx0925 写道
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 2, 5, -6, 12, 7, 15, 6, -10 }; Test.find(arr); } public static void find(int[] arr) { int maxIndex = 0; int maxValue = arr[0] + arr[1] + arr[2]; for (int i = 1; i < arr.length - 2; i++) { int temp = arr[i] + arr[i + 1] + arr[i + 2]; if (temp > maxValue) { maxIndex = i; maxValue = temp; } } System.out.println("数组:" + arr[maxIndex] + "," + arr[maxIndex + 1] + "," + arr[maxIndex + 2]); System.out.println("最大值:" + maxValue); } }
这里果然人才济济啊,很多人都回答的很正确;
这个方法最简单了。
其实有个问题没考虑到,就是加入还有另一个数组,3个数加起来也等于34呢?结果就是这样了
数组:(12,7,15) (13,5,14)
最大值:34
这样程序就复杂了点。。。
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 2, 5, -6, 12, 7, 15, 6, -10, 38 }; Test.find(arr); } public static void find(int[] arr) { int[] maxIndex = new int[arr.length - 3]; int index = 0; int maxValue = arr[0] + arr[1] + arr[2]; for (int i = 1; i < arr.length - 2; i++) { int temp = arr[i] + arr[i + 1] + arr[i + 2]; if (temp == maxValue) { index++; maxIndex[index] = i; } if (temp > maxValue) { maxValue = temp; maxIndex[0] = i; for (int j = 1; j < maxIndex.length; j++) { maxIndex[j] = 0; } } } for (int i = 0; i < maxIndex.length; i++) { if (i == 0) System.out.println("数组:" + arr[maxIndex[i]] + "," + arr[maxIndex[i] + 1] + "," + arr[maxIndex[i] + 2]); if (maxIndex[i] != 0 && i != 0) { System.out.println("数组:" + arr[maxIndex[i]] + "," + arr[maxIndex[i] + 1] + "," + arr[maxIndex[i] + 2]); } } System.out.println("最大值:" + maxValue); } }
看看能不能优化~
11 楼
scholers
2010-10-19
jwx0925 写道
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 2, 5, -6, 12, 7, 15, 6, -10 }; Test.find(arr); } public static void find(int[] arr) { int maxIndex = 0; int maxValue = arr[0] + arr[1] + arr[2]; for (int i = 1; i < arr.length - 2; i++) { int temp = arr[i] + arr[i + 1] + arr[i + 2]; if (temp > maxValue) { maxIndex = i; maxValue = temp; } } System.out.println("数组:" + arr[maxIndex] + "," + arr[maxIndex + 1] + "," + arr[maxIndex + 2]); System.out.println("最大值:" + maxValue); } }
这里果然人才济济啊,很多人都回答的很正确;
这个方法最简单了。
10 楼
jwx0925
2010-10-19
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 2, 5, -6, 12, 7, 15, 6, -10 }; Test.find(arr); } public static void find(int[] arr) { int maxIndex = 0; int maxValue = arr[0] + arr[1] + arr[2]; for (int i = 1; i < arr.length - 2; i++) { int temp = arr[i] + arr[i + 1] + arr[i + 2]; if (temp > maxValue) { maxIndex = i; maxValue = temp; } } System.out.println("数组:" + arr[maxIndex] + "," + arr[maxIndex + 1] + "," + arr[maxIndex + 2]); System.out.println("最大值:" + maxValue); } }
9 楼
dsjt
2010-10-19
lyw985 写道
感觉这题变简单了,
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
import java.util.Hashtable; import java.util.Map; public class Test { public static void main(String[] args) { System.out.println(calcMaxSum(new int[] { 9, -11, 2, 3, 4, -10, 6, 3 })); System.out.println(calcMaxSum(new int[] { 2, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 4, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 3, -3, 1, 10, -6, -3 })); System.out.println(calcMaxSum(new int[] { 2, -3, 1, 10, -6, 7 })); } /** * 返回值的 key 数组index ,value 为连续的数量(包括自身) * * @param ns * @return */ public static Map<Integer, Integer> calcMaxSum(int[] ns) { Map<Integer, Integer> map = new Hashtable<Integer, Integer>(); // 最大连续和值(未考虑 int 型求和溢出问题) int maxSum = ns[ns.length - 1]; // 向索引增大方向所能取得的最大连续和值 int seriesSum = 0; // 向索引增大方向所能取得最大连续和值时,的最大索引 int endIndex = ns.length - 1; for (int i = ns.length - 1; i >= 0; i--) { if (seriesSum > 0) { seriesSum += ns[i]; } else { seriesSum = ns[i]; endIndex = i; } if (seriesSum > maxSum) { maxSum = seriesSum; map.clear(); map.put(i, endIndex - i + 1); } else if (seriesSum == maxSum) { map.put(i, endIndex - i + 1); } } return map; } }
8 楼
xtuul
2010-10-19
<p>还算比较简单:</p>
<pre name="code" class="java"> public void toPrintMax(int[] oldArray){
String str=oldArray[0]+","+oldArray[1]+","+oldArray[2];
int max=oldArray[0]+oldArray[1]+oldArray[2];
for(int i=1;i<oldArray.length-2;i++){
if(oldArray[i]+oldArray[i+1]+oldArray[i+2]>max){
max=oldArray[i]+oldArray[i+1]+oldArray[i+2];
str=oldArray[i]+","+oldArray[i+1]+","+oldArray[i+2];
}
}
System.out.println(str);
System.out.println(max);
}</pre>
<p> </p>
<pre name="code" class="java"> public void toPrintMax(int[] oldArray){
String str=oldArray[0]+","+oldArray[1]+","+oldArray[2];
int max=oldArray[0]+oldArray[1]+oldArray[2];
for(int i=1;i<oldArray.length-2;i++){
if(oldArray[i]+oldArray[i+1]+oldArray[i+2]>max){
max=oldArray[i]+oldArray[i+1]+oldArray[i+2];
str=oldArray[i]+","+oldArray[i+1]+","+oldArray[i+2];
}
}
System.out.println(str);
System.out.println(max);
}</pre>
<p> </p>
7 楼
scholers
2010-10-19
<div class="quote_title">kimmking 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<div class="quote_title">Kisses99 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
</div>
<p><br>一次循环就够了。 </p>
<p>max = 0 </p>
<p>for i = 0->n-2 </p>
<p> sum = a(i) + a(i + 1) + a(i + 2) </p>
<p> if(sum > max) </p>
<p> index = i </p>
<p> max = sum </p>
<p> end if </p>
<p>end for </p>
<p>print a(index),a(index+1),a(index+2) </p>
<p>print max</p>
</div>
<p> </p>
<p> 很简单的解决方法!</p>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<div class="quote_title">Kisses99 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
</div>
<p><br>一次循环就够了。 </p>
<p>max = 0 </p>
<p>for i = 0->n-2 </p>
<p> sum = a(i) + a(i + 1) + a(i + 2) </p>
<p> if(sum > max) </p>
<p> index = i </p>
<p> max = sum </p>
<p> end if </p>
<p>end for </p>
<p>print a(index),a(index+1),a(index+2) </p>
<p>print max</p>
</div>
<p> </p>
<p> 很简单的解决方法!</p>
6 楼
lyw985
2010-10-19
感觉这题变简单了,
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
以前的题目是一列整型数组,找出最大的连续和值和起始下标
例子:4,-7,6,-10,-3,3,2 答案为:6,下标是2(以0开始)
5 楼
kimmking
2010-10-19
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<div class="quote_title">Kisses99 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
</div>
<p><br>一次循环就够了。 </p>
<p>max = 0 </p>
<p>for i = 0->n-2 </p>
<p> sum = a(i) + a(i + 1) + a(i + 2) </p>
<p> if(sum > max) </p>
<p> index = i </p>
<p> max = sum </p>
<p> end if </p>
<p>end for </p>
<p>print a(index),a(index+1),a(index+2) </p>
<p>print max</p>
<div class="quote_div">
<div class="quote_title">Kisses99 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
</div>
<p><br>一次循环就够了。 </p>
<p>max = 0 </p>
<p>for i = 0->n-2 </p>
<p> sum = a(i) + a(i + 1) + a(i + 2) </p>
<p> if(sum > max) </p>
<p> index = i </p>
<p> max = sum </p>
<p> end if </p>
<p>end for </p>
<p>print a(index),a(index+1),a(index+2) </p>
<p>print max</p>
4 楼
scholers
2010-10-19
<div class="quote_title">Kisses99 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
</div>
<p> </p>
<p> 后来想了一下,思路2确实不符合题意</p>
3 楼
scholers
2010-10-19
<div class="quote_title">asme2u 写道</div>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<br>一次遍历,记下最大的累加值和下标就行了</div>
<p> </p>
<p> </p>
<p> 这位兄弟说的很好,关键值就是最大的累加值和下标了。</p>
<div class="quote_div">
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<br>一次遍历,记下最大的累加值和下标就行了</div>
<p> </p>
<p> </p>
<p> 这位兄弟说的很好,关键值就是最大的累加值和下标了。</p>
2 楼
Kisses99
2010-10-19
<div class="quote_title">scholers 写道</div>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
<div class="quote_div">
<p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p>思路2不符合题意。</p>
1 楼
asme2u
2010-10-18
<div class="quote_title">scholers 写道</div><div class="quote_div"><p> 题目:一列整型数组,从第一个开始,累加后续两个数字,得到一个新的数组,然后判断新的数组中的最大值,从而得到这个最大值是原始数组中哪三个数字累加的,输出(打印)这三个数字,并且输出(打印)出这个最大值。</p>
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p></div><br/>一次遍历,记下最大的累加值和下标就行了
<p><span style="font-size: 14.4px;"> 如:2,5,-6,12,7,15,6,-10</span></p>
<p><span style="font-size: 14.4px;"> 结果应该是输出:</span><span style="font-size: 14.4px;">12,7,15</span></p>
<p><span style="font-size: 14.4px;"> 最大值: 34</span></p>
<p> </p>
<p> </p>
<p> 我的思路1:</p>
<p> 1.先统计处累加的数组,数组长度是原始数组长度-2</p>
<p> 2.计算新数组的最大值</p>
<p> 3.根据最大值的位置输出原始数组的三个数字</p>
<p> 4。输出最大值</p>
<p> </p>
<p> 思路2(如果可以打乱原始数组的次序):</p>
<p> 1。先冒泡排序一次,从小到大排序</p>
<p> 2。计算最后三个数字的值,得到结果</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p></div><br/>一次遍历,记下最大的累加值和下标就行了
发表评论
-
大型跨境电商JVM调优经历
2018-02-23 14:01 10206前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁, ... -
Spring与策略模式
2014-02-09 18:15 43440... -
以NIO通信例子结合Jconsole解释JVM内存分配机制
2012-03-22 22:11 3795JAVA的内存分配机制,在很多地方都已经解析很多次了, ... -
推荐一个Eclipse的UML插件:AmaterasUML
2010-11-19 15:21 11133介绍介绍Eclipse的UML插件:AmaterasUML ... -
Java的比较
2010-11-18 22:13 1576一、== 适用于基本对象值的比较,其他对象是比较引用 ... -
classloader相关基础知识
2010-11-18 22:10 1221JVM jvm是jre里头一个动态 ... -
JAVA并发之Exchanger
2010-10-20 14:40 6329JDK1.5中有一个Exchanger类,可以用来完成线程 ... -
JAVA内存模型
2010-07-07 20:36 2271一、Java把内存划分成 ... -
JAVA动态代理解析
2010-06-11 09:25 1361众所周知,JDK的动态代理模式必须实现接口。 以下面的源码为 ... -
一次失败的JAVA性能优化经历
2010-05-26 17:44 1542在一次性能优化中,作为方案的主要参与者,我做了如下分析: ... -
双重检查锁定及单例模式,线程安全
2010-04-11 19:39 1980自己以前认识的单例模式很简单: 方式一: publ ... -
JAVA监控多个线程状态的一种实现
2010-03-19 21:33 6016场景:需要启动多线程处理事情,而在所有事情做完之后,需要修 ... -
Java在Linux下不能处理图形的解决办法
2010-02-08 20:09 2878Java在图形处理时调用了本地的图形处理库。在利用Java作 ... -
高性能JAVA代码的若干个习惯
2010-02-06 19:47 2763创建对象: 1.避免在循 ... -
JAVA read readLine逐行读取文件的问题
2009-10-30 10:08 44415在一次读取文件的写法中,逐行 int c; ... -
ClassLoader载入层次
2009-09-18 22:21 2807Class.forName(classname)默认 ... -
ClassLoader的几个概念、类和对象的解释 (ZT)
2009-09-18 22:20 2004返回0表示编译成功,字符串数组as则是我们用javac命令编译 ... -
ArrayList对象引用的问题
2009-09-18 10:27 3359老问题了,之所以贴出来是给大家看看,希望不要出现类似的错误: ...
相关推荐
根据提供的文件信息,我们可以分析出这是一道关于Java继承与方法重写的相关笔试面试题。题目涉及到了Java类的继承、方法重写、实例化对象时的调用顺序以及对象多态性等知识点。接下来,我们将对这些知识点进行详细的...
### Java面试题:行列转换详解 #### 一、问题背景 在进行数据分析或者报表处理时,经常需要将数据从一种格式转换成另一种格式以便更好地展示或分析。其中一种常见的转换需求是从行转列(即行列转换)。本篇文章将...
【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..
根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...
"阿里软件JAVA笔试题" 阿里软件JAVA笔试题是阿里巴巴公司为招聘软件开发工程师所设计的一份笔试题目,涵盖了JAVA语言、数据结构、算法、设计模式、数据库等多方面的知识点。 本题目共有15道题目,涵盖了以下几个...
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc... Java面试题及答案(基础题122道) - 在梦想与现实之间徘徊 - JavaEye技术网站.mht 等等,还有好多。
这是一道经典的Java面试题。解决这个问题需要了解Java的内存管理机制,包括FULL GC的触发条件、Perm Gen的设置、System.gc()方法的调用等。 Java集合框架 3. Java集合框架是Java语言中的一种重要概念,它提供了...
"100家大公司Java笔试题汇总.doc"这份文档提供了丰富的实践材料,建议考生们深入研究每一道题,不仅要找出正确答案,还要理解背后的原理,这样才能在真正的笔试中游刃有余,成功叩开心仪企业的门扉。同时,通过反复...
企业公司软件测试面试笔试题集合 软件测试面试题 (测试基础).doc 01_企业面试试卷(综合).doc 01_企业面试试卷(综合)_参考答案.doc 04_企业面试试卷(测试基础).doc 04_企业面试试卷(测试基础)_参考答案.doc...
### 常见的Java上机面试题:深入解析与实战指南 在IT行业的求职过程中,尤其是对于软件工程师或开发者而言,上机编程面试成为了一道必经的门槛。这种形式的面试旨在全面评估应聘者的技术能力,不仅考察理论知识的...
Java面试题涵盖了许多核心知识点,包括基础技术、项目经验、逻辑推理和SQL查询。下面将对这些方面进行详细的解析。 1. **基础技术题** - **UML图**:UML(统一建模语言)有多种图表,包括类图、对象图、用例图、...
Java面试中的这道题目主要考察的是并发...总结来说,这道Java面试题主要测试了对`synchronized`关键字的理解,包括其作用、用法以及在并发环境中的内存可见性。理解这些概念对于编写正确且安全的多线程代码至关重要。
"java面试题_leetcode题解之第31题下一个排列" 的描述进一步确认了这是关于Java面试中的一道算法题目的解答,主要关注如何找到一个排列的下一个排列。在面试中,这样的问题通常用来评估候选人在处理数组操作和算法...
java程序员求职之前看这一套就够了。包括Java程序员阿里面经等,java求职必备知识点,简历模板,JAVA核心知识点整理,蓝桥杯java历年真题及答案整理(共129道题目及答案),Java面试突击-V3.0
JAVA面试题选择原则 - **筛选标准**:为了提高复习效率,本面试题集筛选掉了那些过时或者出现频率极低的问题,确保每一道题目都有实际的价值。 - **回答策略**:建议的答题方法包括三个方面:首先阐述基础知识,...
Java笔试题大集合是针对Java开发者进行技术面试和求职准备的重要资源,涵盖了广泛的知识点,旨在测试应聘者的编程基础、算法理解、数据结构、多线程、网络、数据库以及Java特性的掌握程度。这个大礼包通常包含不同...
java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。