zoukankan      html  css  js  c++  java
  • leetcode_最大数

    解题思路:

    (1)既然题中已经明确给了说数字很大要转换成字符串,所以先把这个数值型数组转换为字符串集合

    (2)对这个集合中的元素进行排序

    (3)对排好序的字符串元素进行拼接

    import java.util.*;
    
    
    public class Solution {
        /**
         * 最大数
         * @param nums int整型一维数组 
         * @return string字符串
         */
        public String solve (int[] nums) {
            //首先把整型数字变成字符串的形式
            ArrayList<String> list = new ArrayList<>();
            for(int i=0;i<nums.length;i++){
                list.add(String.valueOf(nums[i]));
            }
            //对字符串按照某种规则进行排序
            Collections.sort(list,new Comparator<String>(){
                @Override
                public int compare(String a,String b){
                    return (b+a).compareTo(a+b);
                }
            });
            if(list.get(0).equals("0"))
                return "0";
            //这个时候将list中的字符串拼接起来就可以了
            StringBuilder sb = new StringBuilder();
            for(String s:list){
                sb.append(s);
            }
            return sb.toString();
        }
    }

    这里用到了集合排序,覆写compare方法。排序的时候用到了字符串的比较方法。

    各自努力,不问归期
  • 相关阅读:
    计算机网络第一章_20210512
    bootloader_华清远见
    C#3.17
    linux--cd命令
    国内的开源网站
    安装linux
    如何自我介绍
    课堂破冰游戏“猜猜他是谁”
    办公软件---word
    计算机网络--技能训练
  • 原文地址:https://www.cnblogs.com/xiaona-/p/15256755.html
Copyright © 2011-2022 走看看