百度校招2018笔试题第三题

来源:互联网 发布:ps6软件下载 编辑:程序博客网 时间:2024/05/17 07:24
 int findMaxMolecules(int massA,int massB,int massC,int massD,int massX){        int[] coins={massA,massB,massC*2,massD*2};        Arrays.sort(coins);        int[][] dp=new int[coins.length+1][massX+1];        for(int i=1;i<=coins.length;i++){            for(int j=1;j<=massX;j++){                if(j-coins[i-1]>=0){                    dp[i][j]=Math.max(dp[i-1][j],                            j-coins[i-1]==0?1:dp[i][j-coins[i-1]]==0?0:dp[i][j-coins[i-1]]+1);                }            }        }        return dp[coins.length][massX];    }

原创粉丝点击