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
}
posted @   Cenyol  阅读(54)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示