Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (JerryChung)時間1年前 (2024/07/24 16:47), 編輯推噓1(102)
留言3則, 2人參與, 1年前最新討論串559/1548 (看更多)
https://leetcode.com/problems/sort-the-jumbled-numbers ※ 引述《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後依序回傳原數字。 Python Code: class Solution: def sortJumbled(self, mapping: List[int], nums: List[int]) -> List[int]: d = [0] * len(nums) for i, v in enumerate(nums): d[i] = int(''.join(str(mapping[int(i)]) for _ in str(v))) return [nums[_[0]] for _ in sorted(enumerate(d), key=lambda x: x[1])] 一次就過但分數好爛 原本d用dict 但怕nums有重複的數字只好改成list 過了才發現d也能一行解決就是了 d = [int(''.join(str(mapping[int(_)]) for _ in str(v)) for v in nums] 你板剩我只會寫出這種不知所云的程式碼了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.34.202 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1721810825.A.47B.html

07/24 16:50, 1年前 , 1F
#1ce7A9RS (Marginalman) 還真的有同樣的值
07/24 16:50, 1F

07/24 16:52, 1年前 , 2F
看了前幾篇還是不知道key的用法 我好爛
07/24 16:52, 2F

07/24 17:18, 1年前 , 3F
大師
07/24 17:18, 3F
文章代碼(AID): #1ceB-9Hx (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ceB-9Hx (Marginalman)