主题
刷题
40 篇文章
- LeetCode 789. 逃脱阻碍者原题链接 题目描述 你在进行一个简化版的吃豆人游戏。你从 [0, 0] 点开始出发,你的目的地是 target = [x_{target}, y_{target}] 。地图上有一些阻碍者,以数组 ghosts 给出,第 i 个阻碍者从 gh
- LeetCode 443. 压缩字符串原题链接 题目描述 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。 否则,需要向 s 追加字符,后跟这一组的长度
- AcWing 3810. 最长连续休息时间原题链接 题目描述 一天可以被分为 n 个时段。 一个工人的每日工作安排可以用一个长度为 n 的 01 序列 a_1,a_2,…,a_n 来表示。 a_i 为 0 表示第 i 个时间段是工作时间,a_i 为 1 表示第 i 个时间段是休息时
- AcWing 3809. 修改数组原题链接 题目描述 给定一个长度为 n 的正整数数组 a_1,a_2,…,a_n。 你可以任意改变其中任意元素的值。 但是,改变后的元素的值仍需是正整数。 将一个元素的值从 a 变为 b 所需要付出的代价为 |a-b|。 对于一个正整数 t
- LeetCode 345. 反转字符串中的元音字母原题链接 题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 提示:元音字母不包含字母 "y" 。 样例 输入样例1: "hello" 输出样例1: "holle" 输入样例2: "leetcode" 输出样例2: "le
- AcWing 3807. 构造字符串原题链接 题目描述 给定两个整数 n 和 k,请你构造一个长度为 n 的字符串 s。 字符串 s 需满足: s 由前 k 个小写字母构成,且前 k 个小写字母均在 s 中出现至少一次。 前 k 个小写字母中,出现次数最少的字母的出现的次数尽
- LeetCode 541. 反转字符串 II原题链接 题目描述 给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保
- AcWing 3802. 消灭数组原题链接 题目描述 给定一个长度为 n 的数组,如果它不是非降序(非严格单调递增)的,那么就将它的前半部分或后半部分消灭。 不断重复这个消灭一半数组的过程,直至数组变为升序为止。 请问,得以幸存的数组的最大可能长度是多少? 输入格式 第一行
- AcWing 3801. 最佳连续子数组原题链接 题目描述 给定一个长度为 n 的数组 a_1,a_2,…,a_n。 请你找到其中的最佳连续子数组。 最佳连续子数组需满足: 子数组内各元素的算术平均数(即所有元素之和除以元素个数)尽可能大。 满足条件 1 的前提下,子数组的长度尽
- LeetCode 1646. 获取生成数组中的最大值原题链接 题目描述 给你一个整数 n 。按下述规则生成一个长度为 n + 1 的数组 nums : nums[0] = 0 nums[1] = 1 当 2 \le 2 * i \le n 时,nums[2 * i] = nums[i] 当
- LeetCode 787. K 站中转内最便宜的航班原题链接 题目描述 有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [from_i, to_i, price_i] ,表示该航班都从城市 from_i 开始,以价格 to_i 抵达 price
- LeetCode 797. 所有可能的路径原题链接 题目描述 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) 二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点,空就是没有下一个结
- LeetCode 1137. 第 N 个泰波那契数原题链接 题目描述 泰波那契序列 T_n 定义如下: T_0 = 0, T_1 = 1, T_2 = 1,且在 n \ge 0 的条件下 Tn+3 = T_n + T_n+1 + T_n+2。 给你整数 n,请返回第 n 个泰波那契数 T_
- 试除法判断质数质数 什么是质数:存在一个数 n \, (n > 1) ,若 n 只能被 1 和 n 整除,不再有其他的因数,称为质数(素数),否则称为合数。若 n \le 1 ,n 既不是质数,也不是合数。 判定质数——试除法 从定义出发,枚举每个 i
- AcWing 3794. 构造字符串原题链接 题目描述 给定一个整数 n,请你构造一个长度为 n 的字符串,要求: 字符串中不含 a,b,c 以外的字符。 字符串中不含长度为 3 的回文子串。 字符串中 c 的数量尽可能少(最好没有)。 输入格式 一个整数 n。 输出格式 一
- LeetCode 802. 找到最终的安全状态原题链接 题目描述 在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走。如果到达的节点是终点(即它没有连出的有向边),则停止。 对于一个起始节点,如果从该节点出发,无论每一步选择沿哪条有向边行走,最后必然在有限步内
- 拓扑序列拓扑序列是针对有向图的。 什么是拓扑序列 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y) ,x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。 image-2021080511080
- 分解质因数从小到大枚举所有数。 for ( int i = 2; i <= n; i ++ ) if ( n % i == 0 ) // i 一定是质数 { // 求i的次数 int s = 0; while ( n % i == 0 ) n /=
- LeetCode 881. 救生艇原题链接 题目描述 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 数据范
- LeetCode 295. 数据流的中位数原题链接 题目描述 思路 代码 C++ class MedianFinder { priority_queue<int, vector<int>, greater<int>> up; priority_queue<int> down; pu