爱奇艺AC 2.2

1、平方和最小  AC
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;

public class Main {  public static void main(String[] args) {   Scanner sc=new Scanner(System.in);   while(sc.hasNext()){    String s=sc.nextLine();    HashMap<Character,Integer> hash= new HashMap<>();    int k=sc.nextInt();    int n=s.length();    for(int i=0;i<n;i++){    char c=s.charAt(i);    if(hash.containsKey(c))hash.put(c, hash.get(c)+1);    else hash.put(c,1);    }    int len=hash.size();    int []ar=new int[len];    int i=0;    for(Character key:hash.keySet())    ar[i++]=hash.get(key);    produce(k,ar);    int sum=0;    for(i=0;i<len;i++){    sum+=ar[i]*ar[i];    }        System.out.println(sum);   }  }  private static void produce(int k, int[] ar) {  int n =ar.length;  for(int i=0;i<k;i++){  Arrays.sort(ar);  if(ar[n-1]>0)ar[n-1]-=1;  else break;  }  }
}

2、博弈论 ,牛牛羊羊吃草  AC
import java.util.Scanner;

public class Main {  public static void main(String[] args) {   Scanner sc=new Scanner(System.in);   while(sc.hasNext()){    int t=sc.nextInt();   for(int i=0;i<t;i++){    long x=sc.nextLong();    x%=5;    if(x==2||x==0)System.out.println("yang");    else System.out.println("niu");   }   }  }
}
3、 无聊 0.2 没什么思路 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); int m=sc.nextInt(); double x=(m+n)*1.0/2; System.out.printf("%.1f",x); } } }

#爱奇艺#
全部评论
 博弈论,大佬能不能解释一下为啥这么做?
点赞 回复 分享
发布于 2017-10-14 21:38
老铁,我第一题思路跟你基本一样,但为啥是0AC啊,给看一眼 package aiqiyi; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class _1 {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int res = 0;         String s = sc.nextLine();         int k = Integer.valueOf(sc.nextLine().split("")[0]);         Map<Character, Integer> map = new HashMap<>();         int length = s.length();         for (int i = 0; i < length; i++) {             if (map.containsKey(s.charAt(i))) {                 int m = map.get(s.charAt(i));                 map.put(s.charAt(i), m + 1);             } else                 map.put(s.charAt(i), 1);         }         Set<Map.Entry<Character, Integer>> set = map.entrySet();         int[] num = new int[map.size()];         Iterator it = set.iterator();         int i = 0;         while (it.hasNext()) {             Map.Entry m = (Map.Entry) it.next();             num[i] = (int) m.getValue();             i++;         }         System.out.println(map.toString());         Arrays.sort(num);         for (int m = 0; m < k; m++) {             num[map.size() - 1]--;             Arrays.sort(num);         }         for (int m = 0; m < map.size(); m++) {             res += (num[m] * num[m]);         }         System.out.println(res);     } }
点赞 回复 分享
发布于 2017-10-14 21:07
这个第二题弄了40分钟都还是10% 你这个竟然A了
点赞 回复 分享
发布于 2017-10-14 21:01

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务