1. 前言
最近也是参加了一下 2026 拼多多秋招的算法工程师的笔试。题目难度适中,但是
2. 幸运年份
描述: 如果一个年份的每位数字(不包含前导零)都不相同,则定义这个年份为幸运的。多多会给出一些年份,对于每个年份,你可以帮忙找出大于这个年份的最小幸运年份吗。
输入: 第一行,包含一个正整数 $T(1 \leq T \leq 10)$ 代表测试数据的组数。 对于每组测试数据,仅有一行正整数 $n(0 \leq n \leq 10^6)$,表示多多给出的年份。
1 | 2 |
输出: 对于每组数据,输出一行正整数,表示大于给出年份的最小幸运年份输出不包含前导零
1 | 1890 |
思路: 问题关键在于如何判断一个年份是否为幸运年份,以及如何找到大于给定年份的最小幸运年份。我们可以通过以下步骤来解决这个问题:
- 判断一个年份是否为幸运年份: 我们可以将年份转换为集合,通过对比转换前后的长度,就可以知道这个年份是否为幸运年份。
- 找到大于给定年份的最小幸运年份: 从给定年份开始,逐个加一,直到找到一个幸运年份为止。
代码:
1 | import sys |
3. 能源站状态
描述: 在二维地图上,有 $n$ 个能源站,能源站的的坐标依次为 $(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)$
一开始所有的能源站都是关闭状态。若能源站 $i$ 变为开启状态,则能源站 $i$ 能够把距离(直线距离)它不超过 $r_i$ 的所有能源站也变为开启状态,然后新启动的能源站也有可能继续把其它能源站变为开启状态。
多多现在能够开启任意一个能源站,请你告诉它最多能使多少个能源站变为开启状态。
输入:
1 | 3 |
输出: 对于每组数据,输出一行,每行一个数,表示最多能使多少个能源站变为开启状态
1 | 1 |
思路: