亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

把數組排成最小的數-算法學習

2023-07-11 10:13:26
10
0
題目詳情:
輸入一個非負整數數組numbers,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。
例如
輸入數組[3,32,321],則打印出這三個數字能排成的最小數字為321323。
1.輸出結果可能非常大,所以你需要返回一個字符串而不是整數
2.拼接起來的數字可能會有前導 0,最后結果不需要去掉前導 0
 
解題思路:
將數組轉換為字符串數組。
自定義排序方法,比較兩個字符串 str1 和 str2 的拼接結果 str1+str2 和 str2+str1 的大小。
如果 str1+str2 < str2+str1,則 str1 排在 str2 前面。
如果 str1+str2 > str2+str1,則 str2 排在 str1 前面。
如果 str1+str2 = str2+str1,則 str1 和 str2 相對位置不變。
使用自定義的排序方法對字符串數組進行排序。
將排序后的字符串按順序拼接起來,得到的結果即為能拼接出的所有數字中最小的一個。
 
代碼實現:
function minNumber(numbers) {
    // 將數組轉換為字符串數組
    const strArr = numbers.map(num => num.toString());
 
    // 自定義排序方法
    strArr.sort((a, b) => {
        const str1 = a + b;
        const str2 = b + a;
        if (str1 < str2) {
            return -1;
        } else if (str1 > str2) {
            return 1;
        } else {
            return 0;
        }
    });
 
    // 拼接排序后的字符串
    return strArr.join('');
}
 
// 測試示例
console.log(minNumber([3, 32, 321])); // 輸出: "321323"
0條評論
作者已關閉評論
t****m
98文章數
1粉絲數
t****m
98 文章 | 1 粉絲
t****m
98文章數
1粉絲數
t****m
98 文章 | 1 粉絲
原創

把數組排成最小的數-算法學習

2023-07-11 10:13:26
10
0
題目詳情:
輸入一個非負整數數組numbers,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。
例如
輸入數組[3,32,321],則打印出這三個數字能排成的最小數字為321323。
1.輸出結果可能非常大,所以你需要返回一個字符串而不是整數
2.拼接起來的數字可能會有前導 0,最后結果不需要去掉前導 0
 
解題思路:
將數組轉換為字符串數組。
自定義排序方法,比較兩個字符串 str1 和 str2 的拼接結果 str1+str2 和 str2+str1 的大小。
如果 str1+str2 < str2+str1,則 str1 排在 str2 前面。
如果 str1+str2 > str2+str1,則 str2 排在 str1 前面。
如果 str1+str2 = str2+str1,則 str1 和 str2 相對位置不變。
使用自定義的排序方法對字符串數組進行排序。
將排序后的字符串按順序拼接起來,得到的結果即為能拼接出的所有數字中最小的一個。
 
代碼實現:
function minNumber(numbers) {
    // 將數組轉換為字符串數組
    const strArr = numbers.map(num => num.toString());
 
    // 自定義排序方法
    strArr.sort((a, b) => {
        const str1 = a + b;
        const str2 = b + a;
        if (str1 < str2) {
            return -1;
        } else if (str1 > str2) {
            return 1;
        } else {
            return 0;
        }
    });
 
    // 拼接排序后的字符串
    return strArr.join('');
}
 
// 測試示例
console.log(minNumber([3, 32, 321])); // 輸出: "321323"
文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0