071_根据身高重建队列
知识点:贪心
LeetCode第四百零六题:https://leetcode-cn.com/problems/queue-reconstruction-by-height/submissions/
语言:GoLang
// 今日份儿抄答案:每个人不需要关心前面比自己矮的人,因此可以任意放入较矮的人
func reconstructQueue(people [][]int) [][]int {
sort.Slice(people, func(i, j int) bool {
if people[i][0] != people[j][0] {
return people[i][0] > people[j][0]
} else {
return people[i][1] < people[j][1]
}
})
for k, v := range people {
if v[1] != k {
// 由for换成copy之后,时间从16%提升到97%
copy(people[v[1] + 1 : k + 1], people[v[1] : k])
// for j := i - 1; j >= tmp[1]; j-- {
// people[j + 1] = people[j]
// }
people[v[1]] = v
}
}
return people
}