0
点赞
收藏
分享

微信扫一扫

配置ssh后又报错git@github.com: Permission denied (publickey)

书坊尚 2024-09-30 阅读 5

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

昨天的每日一题是线段树二分,题目难度远超我的能力范围,所以更不出来了

题目:买票需要的时间

代码与解题思路

func timeRequiredToBuy(tickets []int, k int) (sum int) {
    ans := tickets[k]
    for i, v := range tickets {
        if i <= k {
            sum += min(ans, v)
        } else {
            sum += min(ans-1, v)
        }
    }
    return sum
}

今天的题目比较简单,读完样例不难想出,k 位置的票其实就是一个基准值,其他所有比他小的值都会全部用完,而比他大的值,只会用 k 位置值的大小

因为每轮只能买一张票

所以我最开始的代码直接用的 sum += min(ans, v)

等提交了发现,排队排在 k 位置后面的人会少买一张票,因为当 k 位置的票买完之后,后续的人就不在我们的考虑范围了,所以在 k 位置后面的情况 -1 即可:sum += min(ans-1, v)

视频实况

【【LeetCode】每日一题 2024_9_29 买票需要的时间(模拟)】

每天进步一点点

举报

相关推荐

0 条评论