我正在处理 codeeval.com 上的一个问题 - http://codeeval.com/open_challenges/17/。“编写一个程序来确定列表中连续整数的最大和”。
输入是一个包含逗号分隔的整数列表的文本文件,每行一个,例如
-10、2、3、-2、0、5、-15
2,3,-2,-1,10
该输入应为第一行生成 8,为第二行生成 12。我的答案在下面,但我看不到第二行如何获得 12,所以我的问题主要是我缺少什么,我是否误解了所要求的内容?(我得到 13 的答案)
注意 - 我住在爱尔兰,所以这纯粹是为了我自己的经验,你不会帮助我申请工作!此外,我在这里查看了所有类似的问题,但找不到任何相关内容。
如果我对问题的解释不正确,我所需要的只是指向正确的方向,而不一定是代码。(如,有人可以指出第二行如何计算为 12 而不是 13)
import java.util.*;
import java.io.*;
public class largest_sum {
public static void main(String[] args) throws Exception {
FileReader input = new FileReader(args[0]);
BufferedReader bufRead = new BufferedReader(input);
String line;
line = bufRead.readLine();
while(line != null) {
addInts(line);
line = bufRead.readLine();
}
bufRead.close();
System.exit(0);
}
public static void addInts(String line) {
String[] numbers = line.split(",");
Integer largest = Integer.parseInt(numbers[0].trim());
Integer secondLargest = 0;
for(String s : numbers) {
Integer converted = Integer.parseInt(s.trim());
if(converted > largest) {
secondLargest = largest;
largest = converted;
}
}
System.out.println(largest + secondLargest);
}
}