小米笔试第一题只A了71%,大佬帮忙看下为啥


import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num  = Integer.parseInt(sc.nextLine());
        int[] priceNum = new int[num];
        for(int i = 0;i<num;i++){
            priceNum[i] = Integer.parseInt(sc.nextLine());
        }
        Arrays.sort(priceNum);
        int sumMoney = Integer.parseInt(sc.nextLine());

        int result = 0;
        for(int i = priceNum.length - 1;i>=0;i--){
            if(priceNum[i] == 0){
                continue;
            }
            result += sumMoney / priceNum[i];
            sumMoney = sumMoney % priceNum[i];
            if(sumMoney == 0){
                break;
            }
        }
        if(result == 0){
            System.out.println(-1);
        }else if(sumMoney != 0){
            System.out.println(-1);
        }
        else{
            System.out.println(result);
        }
    }
}


#笔试题目##秋招##小米#
全部评论
贪心没考虑价格0 14% 贪心考虑价格0 71% 暴力法考虑0 86%
点赞 回复 分享
发布于 2019-09-06 20:44
贪心不是最优。。。
点赞 回复 分享
发布于 2019-09-06 20:41
小米商城吗…?72…我也不道为啥
点赞 回复 分享
发布于 2019-09-06 20:41
我只有14%
点赞 回复 分享
发布于 2019-09-07 00:17
这题是个多重背包,不是贪心
点赞 回复 分享
发布于 2019-09-06 21:03
贪心只能用在价格确定的 现在价格不确定只能dp
点赞 回复 分享
发布于 2019-09-06 21:00
这个题不就是动态规划吗,dp[i][j] = dp[i-1][j-k*v[i]]+k  k从0开始到j/v[i]下界,取使得等号右边最小的,我这么想有问题?咋A得那么少
点赞 回复 分享
发布于 2019-09-06 21:00
我很好奇你们是怎么知道是leetcode原题的,都刷到过吗😂
点赞 回复 分享
发布于 2019-09-06 20:55
贪心不最优,这题用动态规划
点赞 回复 分享
发布于 2019-09-06 20:50
跟你几乎一样,但我只有43%😥
点赞 回复 分享
发布于 2019-09-06 20:50
我也是71,动态规划,但是超时了,我觉得应该是可以增加变量,存放已经查找了的结果
点赞 回复 分享
发布于 2019-09-06 20:49
2 2 3 100 用这个测试用例,你就知道为什么了
点赞 回复 分享
发布于 2019-09-06 20:48
第一题只57,第二题没时间做😂
点赞 回复 分享
发布于 2019-09-06 20:45
你的代码和我一模一样😂
点赞 回复 分享
发布于 2019-09-06 20:43
花完钱买东西这到题吗?这个用动态规划
点赞 回复 分享
发布于 2019-09-06 20:42
你没有考虑物品价格为0,我添加了物品价格为0的情况,86%
点赞 回复 分享
发布于 2019-09-06 20:41
leetcode322,原题
点赞 回复 分享
发布于 2019-09-06 20:40
我用大根堆也是71
点赞 回复 分享
发布于 2019-09-06 20:40

相关推荐

03-07 17:34
吉林大学 Java
野猪不是猪🐗:说说我的看法: 1. 分布式微服务不是必学的,先把mysql redis spring生态 juc jvm os 计网这些学的差不多,就能应对大部分常规八股。项目直接用单体项目也是可以的 2. 你的学历有优势,后续把外卖做个拓展换皮(或者去吃透一个不那么烂大街的项目),就能够收获不少面试。但重心建议放在八股算法上,项目不必追求高级或独特,但必须吃透,并且要提前准备一些话术,比如技术选型,为什么考虑用a而不是用b 3. 五六月份大厂暑期的难度会下降(因为大佬都选好offer开始释放了,很多甚至都入职了),所以心态要稳住,不要陷入内耗 加油
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
3
12
分享

创作者周榜

更多
牛客网
牛客企业服务