數字組合問題

2021-06-27 03:07:17 字數 722 閱讀 6749

設有n個正整數,現在需要你設計乙個程式,使他們連線在一起成為最大的數字,例3個整數 12,456,342 很明顯是45634212為最大,4個整數 342,45,7,98顯然為98745342最大

程式要求:輸入整數n 接下來一行輸入n個數字,最後一行輸出最大的那個數字!

題目解析:拿到這題目,看起要來也簡單,看起來也難,簡單在什麼地方,簡單在好像就是尋找哪個開頭最大,然後連在一起就是了,難在如果n大了,假如幾千幾萬,好像就不是那麼回事了,要解答這個題目需要選對合適的貪心策略,並不是把數字由大排到小那麼簡單,網上的解法是將數字轉化為字串,比如a+b和b+a,用strcmp函式比較一下就知道誰大,也就知道了誰該排在誰前面,不過我覺得這個完全沒必要。

這裡有乙個求,巧妙的演算法

,可以將冒泡程式改一下,將規則改一下就行了,**如下,自已認真理解

#include

#include

using namespace std;  

bool compare(int num1,int num2)  //改的規則<<<<<<

while( midnum2 )  

int a = num1 * pow(10,count2) + num2;  

int b = num2 * pow(10,count1) + num1;  

return (a>b)? true:false;  

}int main(int argc, char* argv)  

數字組合問題

題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。方法一 列出取值範圍內所有資料,分別檢查是否符合條件 public static void calculatenum1...

數字組合問題

讀研後有在上學校開設的python課,更新一些課上作業 有0 9共計十個數字,能夠組成多少個互不相同且重複數字的兩位數 python 題目 有0,1,2,3,4,5,6,7,8,9,10個數字,能組成多少個互不相同且重複數字的兩位數 list 0,1,2,3,4,5,6,7,8,9 for迴圈將每個...

LintCode 數字組合

給出一組候選數字 c 和目標數字 t 找到c中所有的組合,使找出的數字和為t。c中的數字可以無限制重複被選取。例如,給出候選陣列 2,3,6,7 和目標數字7,所求的解為 7 2,2,3 您在真實的面試中是否遇到過這個題?yes 樣例給出候選陣列 2,3,6,7 和目標數字7 返回 7 2,2,3 ...