2016-12-04 28 views
-5

我想要實現具有以下簽名的方法:INT排列

public int Max(int number){ } 
+0

@SMA - 它不是Max,它不是關於int :) - 清晰明確的問題...更可讀的形式 - 「給定的數字序列找到表示最大整數值的排列」。 –

+1

user7007558,花費在解決帖子中顯示的問題上的工作量可能會導致帖子上的很多降價。一般來說,如果你不能解決看起來像基本面試問題的問題 - 首先檢查面試問題和解決方案網站... –

+0

我認爲downvotes是由於對問題的錯誤陳述。我建議編輯。 – PartlyCloudy

回答

1

也許不是最有效的方法是轉換爲字符串,爲了說明

var result = int.Parse(String.Join("", digit.ToString().OrderByDescending(x => x))) 
1

數量最多可由給定數字的數字創建是通過從最大到最小排序數字獲得的。有關可能的實現,請參閱以下代碼。

public int Max(int number) 
    { 
     var numberAsCharArray = number.ToString().OrderByDescending(c => c).ToArray(); 
     var largestNumberAsString = new string(numberAsCharArray); 
     return Int32.Parse(str);  
    }