List <Long>到int有损转换

时间:2019-10-19 00:22:11

标签: java arrays list lossy-compression

我正在尝试解决一个难题,该函数必须返回一个长整数并采用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 个答案:

答案 0 :(得分:1)

在这里耦合问题:

  1. --query '{ "timestamp" : { "$gt" : 1569890129 } }' 应该是i而不是int,因为它是在long循环中初始化的变量。如果它是for,则会出现类型不匹配错误。

  2. 由于long存储着c的实例,因此Long也应该是coin

现在,由于Longi,而intcoin,因此您还需要将两者的差额也转换为Long

int