建信金融笔试题

打怪兽:
输入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-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
评论
2
8
分享
牛客网
牛客企业服务