牛客网-102-神奇数-京东

神奇数

http://www.nowcoder.com/questionTerminal/56d818ae68134c12b26e81f41ecafb9e

动态规划判断是否神奇(抄讨论区C++大佬的)

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    private static boolean judge(int a){
        int[] ints = new int[9];
        int sum = 0;
        for(int i = 0; i < 9; i++){
            ints[i] = a % 10;
            sum += ints[i];
            a = a / 10;
            if(a == 0){
                ints = Arrays.copyOfRange(ints, 0, i + 1);
                break;
            }

        }
        if(sum % 2 == 1){
            return false;
        }else{
            int target = sum / 2;

            boolean[] dp = new boolean[target + 1];//前i个数能够和为j
            dp[0] = true;
            for(int i = 0; i < ints.length; i++){
                for(int j = target; j >= ints[i]; j--){
                    dp[j] = dp[j] || dp[j - ints[i]];
                }
            }
            return dp[target];
        }
    }

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int l = scanner.nextInt(), r = scanner.nextInt();
        int cnt = 0;
        for(int i = l; i <= r; i++){
            if(judge(i)){
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}
全部评论

相关推荐

03-12 21:51
门头沟学院 C++
pdd卡怎么严吗&nbsp;笔试a出来两道,第三题a出来20%直接给挂了😭😭😭
鳍足目:我a了2.5道也挂了,但是组里同学只a了1.6道进面了,而且我和他都是无实习,本硕同校,感觉全是玄学
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总
点赞 评论 收藏
分享
King987:这不就是力扣的算法题吗?
点赞 评论 收藏
分享
01-17 12:35
吉首大学 Java
秋招之BrianGriffin:自己的工作自己做!😡
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务