Re: [閒聊] 每日leetcode

作者: argorok (s.green)   2024-07-24 09:49:55
※ 引述《enmeitiryous (enmeitiryous)》之銘言:
: 2191 sort the jumped numbers
: 題目: 給你一個array mapping裡面有0-9的數字,mapping[i]代表的意思是在之後的
: 數字轉換中i要被轉換成mapping[i],例如mapping = [8,9,4,0,2,1,3,5,7,6],則
: 338會被轉換成007=7,991則會被轉換成669,給你一個array nums回傳根據
: mapping轉換後數字由小到大的原數字排序,如果轉換後相同則依照原先相對位置排序
: 思路:用一個function將原數字轉換成新數字,將原數字和新數字的配對塞成一個二維
: array依照題目敘述定義新的sort function排序完二維array後依序回傳原數字。
思路差不多 py就把轉換的函式刻好 丟進去sort就可以了
class Solution:
def sortJumbled(self, mapping: List[int], nums: List[int]) -> List[int]:
def shuffle(mapping, num):
s = str(num)
res = ""
for c in s:
res += str(mapping[int(c)])
return int(res)
return sorted(nums, key=partial(shuffle, mapping))
作者: digua (地瓜)   2024-07-24 10:04:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com