题解 | #数组中的逆序对#
把数组排成最小的数
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
}
}

