题解 | #数组分组#

数组分组

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

import java.util.*;
public class Main{
  public static void main(String[] args){
      Scanner in = new Scanner(System.in);
      
          //根据输入计算sum3,sum5和所有数总和sum,同时把不是5和3倍数的剩余数放入集合
      LinkedList<Integer> list = new LinkedList<>();
          int n = in.nextInt();
          int sum5=0, sum3=0, sum = 0;
          for (int i = 0; i < n; i++){
              int cur = in.nextInt();//输入
              if (cur % 5 == 0){//5倍数和
                  sum5 += cur;
              }else if (cur % 3 == 0){//3倍数和
                  sum3 += cur;
              }else{//剩余加入集合
                  list.add(cur);
              }
              sum += cur;//总和
            }
          

          //特例,总和不是2的倍数,不可分2份和相等的数字
          if(sum%2!=0) System.out.print("false");
          else{System.out.print(bt(list,sum/2,sum3,0));}
      
    }
        static boolean bt(LinkedList<Integer> list,int tar,int buc,int start){
            if(buc==tar){
                return true;
            }
            for(int i=start;i<list.size();i++){
                buc+=list.get(i);
                if(bt(list,tar,buc,i+1)){return true;}
                buc-=list.get(i);
            }
            return false;
        }


}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务