题解 | #数组中的逆序对#

把数组排成最小的数

http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993

C#代码:思路见注释

using System;
using System.Collections.Generic;
using System.Text;
//记得添加using System.Text,stringBuilder需要用到
class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型一维数组 
     * @return string字符串
     */
    public string PrintMinNumber (List<int> numbers) {
        // write code here
  		//1.先转化成list<string>
        List<string> str = new List<string>(numbers.Count);
            foreach (var item in numbers)
            {
                str.Add(item.ToString());
            }
            //2.再自定义排序:按照(x+y)的大小升序排列
            str.Sort((x, y) =>(x + y).CompareTo(y + x));
            //3.再逐个添加到stringBuilder(相比string,不会重复创建对象)
            StringBuilder s=new StringBuilder();
            foreach (var item in str)
            {
                s.Append(item);
            }
            return s.ToString();//输出的时候需要转化为string
    }
}
全部评论

相关推荐

12-27 22:29
门头沟学院 Java
点赞 评论 收藏
分享
12-19 15:04
门头沟学院 Java
小肥罗:hr爱上你了,你负责吗哈哈
点赞 评论 收藏
分享
回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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