思路:使用滑动窗口,枚举每一个可能的子序列作为滑动窗口的内容,判断是否满足条件。具体地,对于每一个滑动窗口,将其中的元素按照顺序组成一个 8 位数字,判断这个数字是否是 2023 年中的某一天。可用时间库(如 datetime)方便地实现这一步骤。如果是,则将日期字符串存入 set 中,最后输出 set 的大小即可。

时间复杂度:O(n),其中 n 是数组长度。每个元素最多被访问两次,一次是作为滑动窗口的左边界,一次是作为右边界。因此总时间复杂度为 O(n)。

代码实现:

小蓝现在有一个长度为 100 的数组数组中的每个元素的值都在 0 到 9 的范围之内。数组中的元素从左至右如下所示:5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 27 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2

原文地址: https://www.cveoy.top/t/topic/bTRP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录