zoukankan      html  css  js  c++  java
  • 京东研发类-编程题-买水果

    笔试的时候,没有考虑到购买多样水果的时候,每样水果的重复次数,因此没能AC。

    现改正,测试了几个用例。

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNext()) {
                    String[]s1 = sc.nextLine().split(" ");
                    //价格数目
                    int n = Integer.valueOf(s1[0]);
                    //物品数目
                    int m = Integer.valueOf(s1[1]);
                    String[]prices = sc.nextLine().split(" ");
                    int[]p = new int[n];
                    for(int i=0;i<prices.length;i++){
                      p[i] = Integer.valueOf(prices[i]);
                    }
                    String[]goods = new String[m];
                    HashMap<String,Integer> hm = new HashMap<String,Integer>();
                    for(int i=0;i<m;i++){
                        goods[i] = sc.nextLine();
                        if(hm.containsKey(goods[i]))
                            hm.put(goods[i],hm.get(goods[i])+1);
                        else
                            hm.put(goods[i],1);
                    }
                    Arrays.sort(p);
                    int max=0,min=0;
                    int[]arr = new int[hm.size()];
                    int ind=0;
                    Iterator it = hm.entrySet().iterator();
                    while(it.hasNext()){
                        Map.Entry entry = (Map.Entry) it.next();
                        arr[ind++] = (int)entry.getValue();
                    }
                    Arrays.sort(arr);
                    for(int i=0;i<hm.size();i++){
                        min += p[i]*arr[hm.size()-1-i];
                    }
                    for(int i=0;i<hm.size();i++){
                        max += p[p.length-1-i]*arr[hm.size()-1-i];
                    }
                    System.out.println(min+" "+max);
            }
        }
    __________________________________________________________ shoobie do lang lang ^^
  • 相关阅读:
    编码 原码 反码 补码
    java垃圾收集器与内存分配策略
    MYSQL 索引 性能优化
    jvm内存溢出性能调优
    JVM内存模型
    线程相关
    Java 设计模式
    synchronized 与 volatile
    ActivityGroup相关--getLocalActivityManager() 以及intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法
    [Android] Activity 重复使用
  • 原文地址:https://www.cnblogs.com/annaivsu/p/5844889.html
Copyright © 2011-2022 走看看