• 记一次算法题,输出连续递增数字


    原题,例如输入  1,2,3,5,6,7,8,9,11,13,14

      输出 1-3,5-9,11,13-14

    public static void main(String[] args) {
           Scanner sc = new Scanner(System.in);
            String s = sc.nextLine();
            String[] split = s.split(",");
            if ( split.length == 0 ){
                System.out.println("");
                return;
            }
            if ( split.length == 1 ){
                System.out.println(split[0]);
                return;
            }
            List<String> ls = new ArrayList<>();
            int begin = Integer.valueOf(split[0]);
            int end = Integer.valueOf(split[0]);
            for (int i = 1; i < split.length; i++) {
                int z = Integer.valueOf(split[i]);
                if ( z != (++end)  ){
                    ls.add(begin== (end-1)? String.valueOf(begin):begin+"-"+(end-1));
                    begin = end= z;
                }
                if ( i == split.length-1 ){
                    ls.add(begin== end? String.valueOf(begin):begin+"-"+end);
                }
            }
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i <ls.size() ; i++) {
                sb.append(ls.get(i));
                if ( i != ls.size()-1 ){
                    sb.append(",");
                }
            }
            System.out.println(sb.toString());
        }

      牛客网机试一直说未通过全部示例,但是我本地测试了很多不同的案例都没看到问题。不知道问题究竟在哪儿。还是我可能理解的有误

  • 相关阅读:
    git环境搭建、git详细使用教程、快速上手git
    数据一致性解决方案实践
    锁的使用
    数据库连接池优化
    多级缓存优化实践
    服务端调优与JVM调优
    Sentinel 流量防卫兵
    Spring Cloud Gateway微服务网关
    OpenFeign与负载均衡
    Nacos config原理
  • 原文地址:https://www.cnblogs.com/hetutu-5238/p/12588612.html
Copyright © 2020-2023  润新知