gpt4 book ai didi

java - List 到 int 有损转换

转载 作者:行者123 更新时间:2023-12-02 09:24:08 25 4
gpt4 key购买 nike

我正在尝试解决一个挑战,该函数必须返回一个长整数并接受 intList<Long>作为参数,但我不断收到以下错误:

Solution.java:32: error: incompatible types: possible lossy conversion from long to int
if (i >= coin) dp[i] += dp[i - coin];

我尝试过不同的选角,但一切都回到了这一点。我的代码如下:

public static long count(int n, List<Long> c) {


long[] dp = new long[n + 1];
dp[0] = 1;

for (long coin : c) {
for (long i = 1; i <= n; i++){
if (i >= coin) dp[i] += dp[i - coin];
}
}
return dp[n];

}

}

最佳答案

这里有几个问题:

  1. i应该是int而不是long因为它是在 for 中初始化的变量环形。如果是long ,您会收到类型不匹配错误。

  2. c存储 Long 的实例, coin也应该是 Long

现在,从i开始是 intcoinLong ,您需要将两者的差值转换为 int也是如此。

public static long count(int n, List<Long> c) {
long[] dp = new long[n + 1];
dp[0] = 1;
for (Long coin : c) {
for (int i = 1; i <= n; i++) {
if (i >= coin) dp[i] += dp[(int) (i - coin)];
}
}
return dp[n];
}

关于java - List<Long> 到 int 有损转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58459513/

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