题解 | #称砝码#

称砝码

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

用 HashSet 记录所有可能的重量,需要注意的是,不要忘了只使用第 i 种砝码的情况;以及不能在同一个 Set 中修改,因为上一次修改会影响本次修改。

或者,您也可以选择一个砝码一个砝码地添加,这样做需要注意对于同一个 Set,一般不允许一边遍历一边增加,可以选择复制 Set 或者使用 CopyOnWriteArraySet。

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int[] m = new int[n];
            int[] x = new int[n];
            for (int i = 0; i < n; i++) {
                m[i] = in.nextInt();
            }
            for (int i = 0; i < n; i++) {
                x[i] = in.nextInt();
            }

            Set<Integer> weights = new HashSet<>();
            for (int i = 0; i < n; i++) {
                // 使用第 i 种砝码能获得的其他重量
                HashSet<Integer> addSet = new HashSet<>();
                for (int j = 0; j <= x[i]; j++) {
                    // 添加若干个 m[i]
                    for (Integer weight : weights) {
                        addSet.add(weight + m[i] * j);
                    }
                    // 只使用 m[i] 的情况
                    addSet.add(m[i] * j);
                }
                weights.addAll(addSet);
            }

            System.out.println(weights.size());
        }
    }
}

全部评论

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
注意格局:去年超发意向是忘了
帮你内推|数字马力 校招
点赞 评论 收藏
分享
09-01 09:00
已编辑
四川旅游学院 运营
牛客55195891...:主要是专业不好,别的没毛病
牛客解忧铺
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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