讨论/题目交流/🐱 第 20 场夜喵双周赛/
🐱 第 20 场夜喵双周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 根据数字二进制下 1 的数目排序
4 分 - 每隔 n 个顾客打折
5 分 - 包含所有三种字符的子字符串数目
6 分 - 有效的快递序列数目

展开讨论
力扣 (LeetCode)发起于 2020-02-22

我又来参加夜猫赛了。

十二点发题解, 先预留位置。

T1:
按题意来就可以。每一个数字二进制分解。
数据范围很小, 排序算法任选。

时空复杂度略。

T2:
描述很长。 实际上按照题意来用个counter记录当前是第几个。 如果达到n就该顾客打折然后重置counter。

时空复杂度略。

T3:
双指针。
考虑计算以每个字符开头满足要求的序列有多少个。
tail指针先找到第一个满足abc都有的序列。显然后面的所有序列都满足。 则有len + 1 - tail个。
然后head指针后移, 直到abc不全有, 中途都满足序列, 继续累加即可。

时间复杂度O(n)
空间复杂度O(1)

T4:
递推。
考虑现在插了已经放了n-1个快递。 则第n个快递收发的共有n(2n - 1)中插入方法。 因此f(n) = f(n - 1) * n * (2n - 1).

时间复杂度O(n)
空间复杂度O(1)

考虑n很大的情况可以分解因数加速。 但这道题不用了。

2
展开全部 22 讨论