由于选择题20个咱也实在是记不住(其实也没人关心🤣)所以后续就只展示算法题,我自己当时是只做出来1.1道。代码是我在考完后又复盘的时候完善的。由于我是markdown写的,所以部分地方可能看起来很奇怪,原始版本和代码可以去我的主页lx02918.github.io去看,欢迎大家评论指正(我就怕我自己的代码有啥问题,如果有问题请各位一定要指出来,我马上改!)第一题给你一个整数,请你判断0 ~ N之间有多少个数是100的正整数倍。输入描述:输入的第一行给出一个整数N 输出描述:输出0~N之间有多少个数是100的整数倍。输出描述:输出0 ~ N之间有多少个数是100的整数倍。示例1:输入:2000输出:20思路签到题,直接用 N 去掉最后两位就可以,能够避免出现负数。第二题给定一个大小为 n * m 的网格板,网格板是由 n * m 个 1 * 1 的单元格组成,最初所有单元格都是 白色 的;现在给出K个操作:𝑐 𝑥 𝑦 将位置为 (𝑥,𝑦) 的单元格涂成黑色𝑙 𝑥 𝑦 将位置为 (𝑥,𝑦) 的单元格向左寻找第一个白色单元格,将其涂成黑色𝑟 𝑥 𝑦 将位置为 (𝑥,𝑦) 的单元格向右寻找第一个白色单元格,将其涂成黑色𝑢 𝑥 𝑦 将位置为 (𝑥,𝑦) 的单元格向上寻找第一个白色单元格,将其涂成黑色𝑑 𝑥 𝑦 将位置为 (𝑥,𝑦) 的单元格向下寻找第一个白色单元格,将其涂成黑色注意:网格板左上角的单元格是 (1,1)输入描述: 第一行给定 n, m, k 分别代表网格板大小和操作次数后续给出为每次操作的命令 𝑠𝑖,𝑥𝑖,𝑦𝑖s1 1 1 输出描述:对于以 l, r, u, d 为操作的给出对应的坐标。没有坐标输出 -1。示例1:输入:5 5 20c 2 4c 4 2r 3 5c 4 4c 5 2u 5 2c 3 2c 1 4l 4 4c 3 5c 5 3c 3 3c 3 1u 1 4c 3 4r 1 1d 3 3d 3 4c 1 1c 5 4输出:-13 24 3-11 24 35 4思路初始化网格之后我们需要将所有元素初始化为False。定义一个函数 find ,借助这个函数对x, y进行操作。需要使用到两个方向增量 d1, d2。跳出条件为到达边界或找到未占位的我位置。操作上按照四个方向进行操作,同时遇到 c 直接变为 True第三题有 n 根木棍排成一列,第 i 根木棍的长度为 𝑎𝑖。请你从中选出一个最长的子区间,使得区间内任意三根木棍都能构成一个三角形。只需要输出选中的区间端点即可。输入描述:第一行整数 n ,表示木棍的数量第二行n个整数 第 𝑖 个整数 𝑎𝑖,表示第 𝑖 根木棍的长度输出描述: 输出两个整数,表示最长的满足条件的区间的两个端点,如果有多个满足条件的,输出左端点最小的区间。思路区间直接考虑到我们的滑动窗口。首先固定好我们滑动窗口的两个边界,然后不断进行遍历,更新最大长度。滑动窗口内需要在 最小值 + 次小值 这题的关键点就在于滑动窗口和有序集合,有序集合可以大大减少我们的代码量。这里举我自己的反例,我当时由于太紧张,直接考虑到指针了,虽然考虑到 sort() 去排序,但是我后续的思路错了,结果这道题就失误了。这里还要说一下,我的代码是python写的,如果有需要其他版本的可以去Chat GPT上把该题的完整部分复制到里面让GPT去翻译,这样的准确度也会更高一些,啾咪💖#牛客创作赏金赛#