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方法。排序的时候用到了字符串的比较方法。

    各自努力,不问归期
  • 相关阅读:
    memcache详解
    redis详解
    laravel5表单验证
    MySQL添加字段和修改字段
    delete和truncate区别
    IOC 和DI(转载)
    JPA和SpringData知识梳理
    spring和springmvc配置分离
    springboot 整合 mybatis
    mongodb安装及配置
  • 原文地址:https://www.cnblogs.com/xiaona-/p/15256755.html
Copyright © 2011-2022 走看看