题解 | #24点游戏算法#

24点游戏算法

http://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] strs = scan.nextLine().split(" ");
        ArrayList<Integer> nums = new ArrayList<>();
        for (String str : strs) {
            nums.add(Integer.valueOf(str));
        }
        for (int num : nums) {
            ArrayList<Integer> copyArr = new ArrayList<>(nums);
            copyArr.remove(Integer.valueOf(num));
            if (process(copyArr, Double.valueOf(num))) {
                System.out.println("true");
                return;
            }
        }
        System.out.println("false");
    }
    public static boolean process(ArrayList<Integer> nums, double total) {
        if (nums.size() == 0) {
            if ((double) 24 == total) {
                return true;
            } else {
                return false;
            }
        }
        for (int num : nums) {
            ArrayList<Integer> copyArr = new ArrayList<>(nums);
            copyArr.remove(Integer.valueOf(num));
            if (process(copyArr, total + num)) {
                return true;
            }
            if (process(copyArr, total - num)) {
                return true;
            }
            if (process(copyArr, total * num)) {
                return true;
            }
            if (Integer.valueOf(num) != 0) {
                if (process(copyArr, total / num)) {
                    return true;
                }
            }
        }
        return false;
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-27 11:43

相关推荐

冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
华为 ai软件开发 薪资20k x (14-16),职级13A,5%公积金,c/cpp
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务