Fintech初试编程题

第一题dp感觉是对的怎么才10%正确率


import java.util.*;

public class Maink1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int t=in.nextInt();
while(t-->0){
int n=in.nextInt();
int k=in.nextInt();
int []v=new int[n];
for(int i=0;i<n;i++){
v[i]=in.nextInt();
}
long [][]mon=new long[n+1][k+1];
for(int i=0;i<n+1;i++){
mon[i][0]=1;
}
for(int i=0;i<k+1;i++){
mon[0][i]=0;
}
for(int i=1;i<n+1;i++){
for(int j=1;j<k+1;j++){
int index =j-v[i-1];
long temp;
if(index<0){
temp = 0;
}
else{
temp=mon[i][index];
}
mon[i][j]=temp+mon[i - 1][j];
}
}
System.out.println(mon[n][k]%100000007);
}
}

}
/*
1
3 5
1 2 5
*/


全部评论
我也是10%
点赞 回复 分享
发布于 2018-04-22 21:04
费马定律告诉我们,多次取模不影响最终结果,溜了
点赞 回复 分享
发布于 2018-04-22 21:05
我也是百分之10。我还以为是我输出有问题。。
点赞 回复 分享
发布于 2018-04-22 21:10
dp过程中每一步都取模
点赞 回复 分享
发布于 2018-04-22 21:11
同10%,用的递归还超时了...
点赞 回复 分享
发布于 2018-04-22 21:12
我最后直接取模是40%,每步取模只过了10%。。。。
点赞 回复 分享
发布于 2018-04-22 21:13
我用python和c++ 至少C++算法没问题吧,事后还和同学比对了 细节都一样 为什么会10%,没AC?
点赞 回复 分享
发布于 2018-04-22 21:17
python递归超时,也是只通过10%
点赞 回复 分享
发布于 2018-04-22 22:26
取模的位置不对,计算过程中就要取模,否则可能已经溢出了。
点赞 回复 分享
发布于 2018-04-22 22:30
大家知道结果什么时候会出来吗
点赞 回复 分享
发布于 2018-04-23 11:33
复试榜单还没出……感觉只要交了报告的都通知面试了
点赞 回复 分享
发布于 2018-05-13 13:28

相关推荐

26牛牛不会梦到感谢信:羡慕离职了还能吃吗现在就赶回去
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务