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

83.3

#笔试题目#
全部评论
要转化成字符串,long类型都爆了
点赞 回复 分享
发布于 2019-08-20 21:51
我也用的比较器,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
只要比较就可以AC
点赞 回复 分享
发布于 2019-08-20 21:38
贴代码
点赞 回复 分享
发布于 2019-08-20 21:36

相关推荐

06-07 21:26
江南大学 C++
话不多说,直接上时间线和图片1.2024年10月底发offer,并签三方2.2025年5月底公司违约
从零开始的转码生活:希望所有签了三方但直接违约的公司都倒闭!都倒闭!都倒闭!
点赞 评论 收藏
分享
点赞 评论 收藏
分享
04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务