Re: [閒聊] 每日leetcode

作者: JIWP (JIWP)   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
}
作者: sustainer123 (caster)   2024-07-24 18:05:00
大師 幫內推
作者: JIWP (JIWP)   2024-07-24 18:05:00
我要幹死阿喵喵
作者: SecondRun (雨夜琴聲)   2024-07-24 18:10:00
球內推
作者: jones17188 (命言)   2024-07-24 18:11:00
大師,幫推屁股,我要幹死阿蘇米
作者: JIWP (JIWP)   2024-07-24 18:13:00
滾,阿蘇米我婆
作者: digua (地瓜)   2024-07-24 18:13:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com