leetcode 面試題45 把陣列排成最小的數

2021-10-05 22:39:31 字數 647 閱讀 6701

解題思路:這道題的關鍵就在於如何重新定義排序規則,對待排序的字串xy,如果(x+y)構成的字串小於(y+x)構成的字串,自然x應當排在y前面,反之亦然

class

solution

:def

minnumber

(self, nums: list[

int])-

>

str:

defcmp

(x, y):if

(x+y)

>

(y+x)

:return

1elif

(x+y)

<

(y+x)

:return-1

else

:return

0import functools

nums =

[str

(x)for x in nums]

nums.sort(key=functools.cmp_to_key(

cmp)

)return

''.join(nums)

面試題45 把陣列排成最小的數(不會)

一 題目 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這3個數字能排成的最小數字321323。二 關鍵 三 解釋 1.解題思路 如果兩個數字m和n能後拼接成數字mn和nm。如果mn2.相加得到大數的解決思路 將數字轉換成字串。拼接...

面試題45 把陣列排成最小的數 Golang

我們這一屆也即將面臨著找工作的難題了,為了提公升程式設計功力,我經常上leetcode和牛客網刷題。認真反省之後發現這就是近幾天學習狀態越來越差的罪魁禍首。對於大多數普通人來講,秋招是一場持久戰,保持乙個健康的心態至關重要。因此學習中的正反饋真的很重要,寧願刷點簡單的題也不要一味求難。今天整了幾道l...

劍指 面試題45 把陣列排成最小的數

題目 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。0 nums.length 100 思路 1 自定義排序規則comp 然後呼叫內建排序函式。2 將int轉換成字串,再執行字串拼接操作,最後比較它們只用根據字串大小的比較規則比較即可,因為ab和ba位數...