b站笔试为什么第二道用全排列比较和比较器都不能ac呀

83.3

#笔试题目#
全部评论
贴代码
点赞 回复
分享
发布于 2019-08-20 21:36
只要比较就可以AC
点赞 回复
分享
发布于 2019-08-20 21:38
小红书
校招火热招聘中
官网直投
我也用的比较器,AC 了     public static void bilibiliFun2(List list) {         list.sort(new Com());         StringBuffer sb = new StringBuffer();         for (int i = 0; i < list.size(); i++) {             sb.append(list.get(i));         }         System.out.println(sb.toString());     }     static class Com implements Comparator<Integer> {         @Override         public int compare(Integer o1, Integer o2) {             int a = Integer.valueOf(String.valueOf(o1).charAt(0));             int b = Integer.valueOf(String.valueOf(o2).charAt(0));             int i = 1;             while (a == b) {                 if (String.valueOf(o1).length() > i && String.valueOf(o2).length() > i) {                     a = Integer.valueOf(String.valueOf(o1).charAt(i));                     b = Integer.valueOf(String.valueOf(o2).charAt(i));                 } else {                     if (String.valueOf(o1).length() < String.valueOf(o2).length()                         && Integer.valueOf(String.valueOf(o1).charAt(0)) < Integer.valueOf(String.valueOf(o2).charAt(String.valueOf(o2).length() - 1))) {                         return -1;                     } else if (String.valueOf(o1).length() > String.valueOf(o2).length()                             && Integer.valueOf(String.valueOf(o2).charAt(0)) > Integer.valueOf(String.valueOf(o1).charAt(String.valueOf(o1).length() - 1))) {                         return -1;                     } else {                         return 1;                     }                 }                 i++;             }             return a - b;         }     }
点赞 回复
分享
发布于 2019-08-20 21:40
要转化成字符串,long类型都爆了
点赞 回复
分享
发布于 2019-08-20 21:51

相关推荐

点赞 3 评论
分享
牛客网
牛客企业服务