私は codeeval.com の問題に取り組んでいます - http://codeeval.com/open_challenges/17/。「リスト内の連続する整数の最大和を求めるプログラムを書いてください」.
入力は、コンマ区切りの整数のリストを含むテキスト ファイルで、1 行に 1 つずつ入力されます。
-10、2、3、-2、0、5、-15
2,3,-2,-1,10
その入力は、最初の行で 8 を生成し、2 番目の行で 12 を生成する必要があります。私の答えは以下のとおりですが、2 行目で 12 を取得する方法がわかりません。そのため、私の質問は主に何が欠けているのかということです。求められているものを誤解していますか? (答えは 13 です)
注意 - 私はアイルランドに住んでいるので、これは純粋に私自身の経験のためです。あなたは私の求職活動を手伝ってくれるわけではありません! また、ここで同様の質問をすべて調べましたが、関連するものは見つかりませんでした。
質問の私の解釈が間違っている場合、必要なのは正しい方向へのポイントだけであり、必ずしもコードではありません。(同様に、誰かが 2 行目が 13 ではなく 12 に評価される方法を指摘できますか)
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);
}
}