今天头条的笔试题大家进来交流下思路吧~
楼主第一道题枚举T然后 AC 了60%,不知道哪个 case 没过;第二题 AC,本质是一道多重背包问题;第三题和大部分人一样先用暴力试了试只过了2%不知道哪错了;第四道题用暴力超时来不及优化只过了50%;第五题都没时间细看T T
下面是我的第二道题的 AC 代码,希望有大神能给出其他题的正确解法。
public int resolveNumber2(int[] arr1, int[] arr2, int m){
int MOD = 1000000007;
int[] dp = new int[m + 1];
dp[0] = 1;
for(int num : arr1){
for(int i = num; i <= m; i++)
dp[i] = (dp[i] + dp[i - num]) % MOD;
}
for(int num : arr2){
for(int i = m; i >= num; i--)
dp[i] = (dp[i] + dp[i - num]) % MOD;
}
return dp[m];
}

快手公司福利 1244人发布