using System;
using System.Collections.Generic;
using System.Linq;
class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 最大数
* @param nums int整型一维数组
* @return string字符串
*/
public string solve (List<int> nums) {
// write code here
// var ordered=nums.OrderByDescending(x=>x.ToString()[0]).ThenByDescending(x=>x.ToString().Length);
if(nums.All(x=>x<=0))
return "0";
nums.Sort((x,y)=>
{
var s1=x.ToString();
var s2=y.ToString();
// return -1*(s1+s2).CompareTo(s2+s1);
return -1*(int.Parse(s1+s2)-int.Parse(s2+s1));
});
var ans=nums.Aggregate("",(total,next)=>total+next.ToString());
return ans;
}
}
关键在于比较函数的实现,一种是拼接后转为整数比较,一种是字符串比较,都差不多