using System.Linq;publicclassKata{publicstaticintFindLongest(int[] N){return N.OrderByDescending(X => X.ToString().Length).First();}}
答案2:
using System.Linq;using System;publicclassKata{publicstaticintFindLongest(int[] number)=> number.Aggregate(0,(s,n)=> $"{s}".Length < $"{n}".Length ? n : s);}
答案3:
using System.Linq;publicclassKata{publicstaticintFindLongest(int[] number){int i = number.Max();foreach(int n in number){if(n.ToString().Length == i.ToString().Length)return n;}return i;}}
答案4:
publicclassKata{publicstaticintFindLongest(int[] number){int max = number[0].ToString().Length, temp, result = number[0];for(int i =1; i < number.Length; i++){
temp = number[i].ToString().Length;if(temp > max){
max = temp;
result = number[i];}elsecontinue;}return result;}}
答案5:
using System;using System.Linq;publicstaticclassKata{publicstaticintFindLongest(int[] numbers)=> numbers.Select((x, i)=> Tuple.Create(x.ToString().Length,-i, x)).Max().Item3;}
答案6:
using System;using System.Linq;publicclassKata{publicstaticintFindLongest(int[] number){return number
.GroupBy(n => n.ToString().Length).OrderByDescending(g => g.Key).FirstOrDefault().FirstOrDefault();}}
答案7:
using System.Linq;publicclassKata{publicstaticintFindLongest(int[] number){return number.GroupBy(x=>x.ToString().Length).Select(x=>x.First()).OrderByDescending(x=>x).FirstOrDefault();}}
答案8:
using System.Linq;publicclassKata{publicstaticintFindLongest(int[] number){var len = number.Max().ToString().Length;foreach(var v in number)if(v.ToString().Length == len)return v;return0;}}
答案9:
publicclassKata{publicstaticintFindLongest(int[] number){int longest =0;int highCount =0;foreach(int x in number){int y = x;int count =0;while(y >=10){
y = y /10;
count++;}if(count > highCount){
highCount = count;
longest = x;}}return longest;}}
大多数数字【难度:1级】:答案1:using System.Linq;public class Kata{ public static int FindLongest(int[] N) { return N.OrderByDescending(X => X.ToString().Length).First(); }}答案2:usin...