作者JIWP (神楽めあ的錢包)
標題Re: [閒聊] 每日leetcode
時間2024-07-24 18:03:38
2191. Sort the Jumbled Numbers
就給你一組mapping,其中mapping[i]=j
然後給你一個矩陣nums
請將nums中的值按照mapped value進行遞增排序
並回傳
如果兩個mapping後的值一樣,就按照原本相對order排序
思路:
就照做
建一個struct,裡面存放原本的key、origin value、mapped value
然後再去排序
這題好像沒什麼好講的,
我就只會這種爛方法
對阿
我要去幹死阿喵喵了
golang code :
type point struct {
origin int
mapping int
key int
}
func sortJumbled(mapping []int, nums []int) []int {
points := make([]point, len(nums))
for key, val := range nums {
points[key].origin = val
points[key].key = key
tmp := 0
if val == 0 {
points[key].mapping = mapping[0]
} else {
n := (math.Floor(math.Log10(float64(val))))
div := int(math.Pow(10, n))
for i := 0; i <= int(n); i++ {
tmp = tmp*10 + mapping[(val/div)%10]
div /= 10
}
points[key].mapping = tmp
}
}
slices.SortFunc(points, func(i, j point) int {
if i.mapping == j.mapping {
return i.key - j.key
}
return i.mapping - j.mapping
})
for key := range nums {
nums[key] = points[key].origin
}
return nums
}
--
※ 發信站: 批踢踢實業坊(ptt-web.org.tw), 來自: 111.71.213.232 (臺灣)
※ 文章網址: https://ptt-web.org.tw/Marginalman/M.1721815421.A.1F5
推 sustainer123: 大師 幫內推 07/24 18:05
→ JIWP: 我要幹死阿喵喵 07/24 18:05
推 SecondRun: 球內推 07/24 18:10
推 jones17188: 大師,幫推屁股,我要幹死阿蘇米 07/24 18:11
→ JIWP: 滾,阿蘇米我婆 07/24 18:13
推 mysister: 閨蜜上包養網還推薦我... 07/24 18:13 → digua: 大師 07/24 18:13