建信金融笔试题

打怪兽:
输入n个怪兽 每秒伤害为hit 限时t秒
问最多消灭几只怪兽
换句话说就是每次只准对数组中的一个元素进行操作(减法操作,减数为hit),t次后数组里最多有几个小于等于0的元素
可惜笔试的时候没写完
思路大概是:
先排个序,凡是小于hit值的元素1秒(或者说1次操作后就被消灭了)
对于大于hit值的,每次找最小那个进行操作(仅当当前元素值小于等于0了才继续攻击下一只怪兽)
也不知道对不对
希望有大佬给点意见
哎  还是怪自己菜😥

#建信金融科技##建信金科##笔试题目#
全部评论
直接对怪兽数组排序,然后for以秒为单位从怪兽数组遍历,每次对当前怪兽-hit血量,如果血量小于等于0就kill++,指向下一个怪兽
1 回复 分享
发布于 2020-04-10 22:26
        Scanner sc = new Scanner(System.in);         int n = sc.nextInt();         int hit = sc.nextInt();         int time = sc.nextInt();         int[] nums = new int[n];         for (int i = 0; i < n; i++) {             int temp = sc.nextInt();             nums[i] = temp % hit == 0 ? temp / hit : temp / hit + 1;         }         Arrays.sort(nums);         int i = 0;         while (time > 0) {             time = time - nums[i];             i++;         }         System.out.println(i); 我这个只过了40%,实在是不知道哪里有问题了,案例是可以通过的
点赞 回复 分享
发布于 2020-04-10 22:10
这个好像一次伤害可以分给不同的怪兽
点赞 回复 分享
发布于 2020-04-10 22:22
有老哥收到性格测试的吗,为啥我没收到性格测试的邮件
点赞 回复 分享
发布于 2020-04-10 23:10
我开始也是只过了40%,提示我数组越界,然后把target(当前怪物目标)加一个判断 >= n时break就过了,也不知道为啥,本地ide上就很正常
点赞 回复 分享
发布于 2020-04-11 09:48

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
2 8 评论
分享
牛客网
牛客企业服务