※ 引述《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))