zoukankan      html  css  js  c++  java
  • 179. Largest Number

    Given a list of non negative integers, arrange them such that they form the largest number.

    For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

    Note: The result may be very large, so you need to return a string instead of an integer.

    含义:给定多个非负数,将他们排列成一个最大数,用string返回

     1     public String largestNumber(int[] nums) {
     2         if(nums == null || nums.length == 0)
     3             return "";
     4 
     5         // Convert int array to String array, so we can sort later on
     6         String[] s_num = new String[nums.length];
     7         for(int i = 0; i < nums.length; i++)
     8             s_num[i] = String.valueOf(nums[i]);
     9 
    10         // Comparator to decide which string should come first in concatenation
    11         Comparator<String> comp = new Comparator<String>(){
    12             @Override
    13             public int compare(String str1, String str2){
    14                 String s1 = str1 + str2;
    15                 String s2 = str2 + str1;
    16                 return s2.compareTo(s1); // reverse order here, so we can do append() later
    17             }
    18         };
    19 
    20         Arrays.sort(s_num, comp);//由顶到底,前一个元素加后一个元素的值,大于后一个元素加前一个元素的值
    21         // An extreme edge case by lc, say you have only a bunch of 0 in your int array
    22         if(s_num[0].charAt(0) == '0')
    23             return "0";
    24 
    25         StringBuilder sb = new StringBuilder();
    26         for(String s: s_num)
    27             sb.append(s);
    28 
    29         return sb.toString();        
    30     }
  • 相关阅读:
    inotifywait实时监控文件目录
    centos7支持xming
    ssh目录权限说明
    利用xinetd实现简单web服务器
    python3 使用http.server秒速搭建web服务器
    linux FFMPEG 摄像头采集数据推流
    Linux nginx+rtmp服务器配置实现直播点播
    Nginx中加入nginx-rtmp-module
    ubuntu查看屏幕分辨率
    运用设计原则编写可测试性的代码
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7731612.html
Copyright © 2011-2022 走看看