题目要求
P1201题目链接
真是贪婪的送礼者……醉了……
我们应该先读一下有几个人。再建立HashMap,其优势很明显:快速查找+编码简单。 毕竟我们读一读题给的测试用例,给的人名是:dave、laura、owen、vick、amr,最终录入的时候顺序是:dave、owen、amr、laura、vick,二者顺序不一致。如果我们不选用散列的话,就被迫面临线性结构的顺序查找(或者二分查找),虽然本题数据量不大,但需要额外的编码负担,没必要。
但我们还是需要一个数组,目的是:恢复原有的顺序。 因为最后输出的顺序还是最初录入人名的顺序:如dave、laura、owen、vick、amr。 但HashMap的数据被散列以后就改变了顺序,所以可能不是按照这个顺序输出。 我们根据一个存储姓名的数组的String去get到Map里的Integer,即可。
本来想用面向对象,后来发现根本不用,直接用key-value即可处理。
注意:如不能整除,钱要返还的,返还的解读就是不分给别人。因为自己给自己,收益是0。
另外,读测试用例,发现可能给0个人,这就会发生除0异常,所以要做特判。但特判以后虽然不处理但也要把数都读了,只是不要用而已啦。 如果你不读的话,就会导致后面的程序读不该读到的东西,很容易RE,起码也是WA,这样不好。
AC代码(Java语言描述)import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = Integer.parseInt(scanner.nextLine());
Map map = new HashMap(5);
String[] array = new String[num];
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?