gpt4 book ai didi

java - 确定列表中连续整数的最大和java

转载 作者:行者123 更新时间:2023-12-01 07:35:49 24 4
gpt4 key购买 nike

我正在解决 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);
}
}

最佳答案

我建议看看 Kadane's algorithm .

编辑:正如 @Paolo 和 @Vlad 指出的那样 - 你没有得到正确的结果,因为你正在添加最大的两个数字,而不是寻找序列。 Kadane 的算法通过首先查找数据集中每个位置处结束的最大总和来查找序列的最大总和。

关于java - 确定列表中连续整数的最大和java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com