怎麼把字串變成陣列 30 把陣列排成最小的數

2021-10-11 13:47:31 字數 736 閱讀 3741

題目描述

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。

大致思路

(1)我們可以先思考只有兩個數字的情況: [3,32] ,可以看出來 332>323 因此需要把陣列改變為 [32,3] ;

(2)對於有三個數字的情況: [3,32,321] 我們兩兩進行比較, 332>323 於是,將 3 與 32 交換位置變成 [32,3,321] 而 3321>3213 於是將 3 與 321 繼續交換位置到 [32,321,3] ;接著我們繼續使用 32 進行比較,由於 32321>32132 將 32與321 進行位置交換為 [321,32,3] 此時,將陣列鏈結起來變成 321323 即為最小的數。

具體思路

(1)先將數字列表轉化成字串鍊錶,這樣便於在乙個字串後面直接加上另外乙個字串。也就是 "3"+"321"="3321" 。

(2)構造乙個比較函式,當 str1+str2>str2+str1 時我們認為字串 str1>str2 。

(3)將字串列表按照比較函式的規定進行氣泡排序(或其它方法排序),將定義為」大」的字串放到最後。而」小」的字串放在前面。最後將字串列表鏈結起來,便是所求。

C裡面怎麼把字串轉成數字

字串 123 轉成數字123 怎麼轉?atof 將字串轉換成浮點型數 相關函式 atoi,atol,strtod,strtol,strtoul 表頭檔案 include 定義函式 double atof const char nptr 函式說明 atof 會掃瞄引數nptr字串,跳過前面的空格字元,...

JS怎麼把字串陣列轉換成整型陣列

比如有乙個字串 const datastr 1,2,3,4,5 現在需要把它分割為int型陣列 let dataintarr 1,2,3,4,5 方法有很多種。這裡講兩個有意思的 let datastr 1,2,3,4,5 原始字串 let datastrarr datastr.split 分割成字...

js 把字串陣列轉換為陣列

在對接的過程中,後台傳來的資料其中有乙個是陣列字串,這時候就需要解析成純陣列了。使用json.parse 可以解析 let str abc def console.log str string json.parse str console.log str abc def 字串 2 abc def 陣...