题解 | #称砝码#

称砝码

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

import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt();//存入的个数 //确保不会出现重复的重量 HashSet set = new HashSet<>(); //确保不会重复存入砝码的重量 ArrayList num = new ArrayList<>(); //确保不会重复存入砝码的质量 ArrayList num1 = new ArrayList<>(); //存入0这个重量 set.add(0); //存入砝码的个数 for(int i = 0;i < n;i++){ int m = sc.nextInt(); num.add(m); } //存入砝码的重量 for(int i = 0;i < n;i++){ int n2 = sc.nextInt(); num1.add(n2); } //一个个遍历砝码 for(int i = 0;i < n;i++){ ArrayList num2 = new ArrayList<>(set);//得到所有的结果 //遍历所有的结果 for(Integer integer : num2){ //一个一个砝码去试 for(int j = 1; j <= num1.get(i);j++){ //存入每个砝码的重量 set.add(integer + num.get(i) * j); }
} } //得到所有不重复的质量个数 System.out.println(set.size()); } }

全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务