题解 | #数组分组#

数组分组

http://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

dfs

import java.util.*;
public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNextInt()) {
                int n = sc.nextInt();
                int[] a = new int[n];
                int left = 0;
                int right = 0;
                for (int i =0; i< n;i++) {
                    int tmp = sc.nextInt();
                    if (tmp % 3 == 0 && tmp % 5 != 0) {
                        left += tmp;
                    } else if (tmp % 5 == 0 ){
                        right+= tmp;
                    } else {
                        a[i] = tmp;
                    }
                }
                 System.out.println(dfs(a, left, right,0));
            }
        }
    public static boolean dfs (int[] a, int left, int right, int index) {
        if (index > a.length) {
            return false;
        }
        if (index == a.length) {
            return left == right;
        }
        return dfs(a, left+a[index], right, index +1) || dfs(a, left, right + a[index], index +1);
    }
}
全部评论
清晰易懂,高
点赞 回复 分享
发布于 2022-05-28 22:28
这个递归漂亮
点赞 回复 分享
发布于 2023-04-08 16:42 北京

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
6 2 评论
分享
牛客网
牛客企业服务