Skip to content

Commit 5a4fa6d

Browse files
committed
国内版题目测试下载
1 parent e2daac1 commit 5a4fa6d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4112
-4
lines changed

国内版.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def get_proble_set(url):
1818
return None
1919

2020
def parse_proble_set(problemSet):
21-
print(len(problemSet)) # 2573
21+
# print(len(problemSet)) # 2573
2222
for i in range(len(problemSet)):
2323
title = problemSet[i]["stat"]["question__title_slug"]
2424
if os.path.exists("originData/[no content]{}.json".format(title)) or os.path.exists("originData/{}.json".format(title)):
@@ -30,10 +30,7 @@ def parse_proble_set(problemSet):
3030
time.sleep(1)
3131
t =threading.Thread(target=construct_url,args=(title,))
3232
t.start()
33-
3433
print(i, "is done.")
35-
if i > 15:
36-
break # 临时
3734
continue
3835

3936
def construct_url(problemTitle):

算法题(国内版)/originData/05ZEDJ.json

+181
Large diffs are not rendered by default.

算法题(国内版)/originData/0jQkd0.json

+187
Large diffs are not rendered by default.

算法题(国内版)/originData/2AoeFn.json

+192
Large diffs are not rendered by default.

算法题(国内版)/originData/7WHec2.json

+204
Large diffs are not rendered by default.

算法题(国内版)/originData/K8GULz.json

+187
Large diffs are not rendered by default.

算法题(国内版)/originData/TVdhkn.json

+192
Large diffs are not rendered by default.

算法题(国内版)/originData/Y1VbOX.json

+181
Large diffs are not rendered by default.

算法题(国内版)/originData/bLyHh0.json

+198
Large diffs are not rendered by default.

算法题(国内版)/originData/fHi6rV.json

+169
Large diffs are not rendered by default.

算法题(国内版)/originData/fsa7oZ.json

+187
Large diffs are not rendered by default.

算法题(国内版)/originData/kplEvH.json

+187
Large diffs are not rendered by default.

算法题(国内版)/originData/oPs9Bm.json

+175
Large diffs are not rendered by default.

算法题(国内版)/originData/sZ59z6.json

+193
Large diffs are not rendered by default.

算法题(国内版)/originData/uOAnQW.json

+163
Large diffs are not rendered by default.

算法题(国内版)/originData/uUsW3B.json

+186
Large diffs are not rendered by default.

算法题(国内版)/originData/vFjcfV.json

+199
Large diffs are not rendered by default.

算法题(国内版)/originData/vvXgSW.json

+198
Large diffs are not rendered by default.

算法题(国内版)/originData/xx4gT2.json

+204
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
「力扣挑战赛」 的入场仪式马上就要开始了,由于安保工作的需要,设置了可容纳人数总和为 `M``N` 个安检室,`capacities[i]` 记录第 `i` 个安检室可容纳人数。安检室拥有两种类型:
2+
- 先进先出:在安检室中的所有观众中,最早进入安检室的观众最先离开
3+
- 后进先出:在安检室中的所有观众中,最晚进入安检室的观众最先离开
4+
5+
![c24754f1a5ff56989340ba5004dc5eda.gif](https://pic.leetcode-cn.com/1628843202-cdFPSt-c24754f1a5ff56989340ba5004dc5eda.gif)
6+
7+
8+
9+
恰好 `M+1` 位入场的观众(编号从 0 开始)需要排队**依次**入场安检, 入场安检的规则如下:
10+
- 观众需要先进入编号 `0` 的安检室
11+
- 当观众将进入编号 `i` 的安检室时(`0 <= i < N`),
12+
- 若安检室未到达可容纳人数上限,该观众可直接进入;
13+
- 若安检室已到达可容纳人数上限,在该观众进入安检室之前需根据当前安检室类型选择一位观众离开后才能进入;
14+
- 当观众离开编号 `i` 的安检室时 (`0 <= i < N-1`),将进入编号 `i+1` 的安检室接受安检。
15+
16+
若可以任意设定每个安检室的类型,请问有多少种设定安检室类型的方案可以使得编号 `k` 的观众第一个通过最后一个安检室入场。
17+
18+
19+
**注意:**
20+
- 观众不可主动离开安检室,只有当安检室容纳人数达到上限,且又有新观众需要进入时,才可根据安检室的类型选择一位观众离开;
21+
- 由于方案数可能过大,请将答案对 `1000000007` 取模后返回。
22+
23+
24+
**示例 1:**
25+
> 输入:`capacities = [2,2,3], k = 2`
26+
>
27+
> 输出:`2`
28+
> 解释:
29+
> 存在两种设定的 `2` 种方案:
30+
> - 方案 1:将编号为 `0``1` 的实验室设置为 **后进先出** 的类型,编号为 `2` 的实验室设置为 **先进先出** 的类型;
31+
> - 方案 2:将编号为 `0``1` 的实验室设置为 **先进先出** 的类型,编号为 `2` 的实验室设置为 **后进先出** 的类型。
32+
>
33+
> 以下是方案 1 的示意图:
34+
>![c60e38199a225ad62f13b954872edf9b.gif](https://pic.leetcode-cn.com/1628841618-bFKsnt-c60e38199a225ad62f13b954872edf9b.gif)
35+
36+
37+
38+
**示例 2:**
39+
> 输入:`capacities = [3,3], k = 3`
40+
>
41+
> 输出:`0`
42+
43+
**示例 3:**
44+
> 输入:`capacities = [4,3,2,2], k = 6`
45+
>
46+
> 输出:`2`
47+
48+
**提示:**
49+
+ `1 <= capacities.length <= 200`
50+
+ `1 <= capacities[i] <= 200`
51+
+ `0 <= k <= sum(capacities)`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
前往「力扣挑战赛」场馆的道路上,有一个拥堵的十字路口,该十字路口由两条双向两车道的路交叉构成。由于信号灯故障,交警需要手动指挥拥堵车辆。假定路口没有新的来车且一辆车从一个车道驶入另一个车道所需的时间恰好为一秒钟,长度为 4 的一维字符串数组 `directions` 中按照 **东、南、西、北** 顺序记录了四个方向从最靠近路口到最远离路口的车辆计划开往的方向。其中:
2+
- `"E"` 表示向东行驶;
3+
- `"S"` 表示向南行驶;
4+
- `"W"` 表示向西行驶;
5+
- `"N"` 表示向北行驶。
6+
7+
交警每秒钟只能指挥各个车道距离路口最近的一辆车,且每次指挥需要满足如下规则:
8+
- 同一秒钟内,一个方向的车道只允许驶出一辆车;
9+
- 同一秒钟内,一个方向的车道只允许驶入一辆车;
10+
- 同一秒钟内,车辆的行驶路线不可相交。
11+
12+
请返回最少需要几秒钟,该十字路口等候的车辆才能全部走完。
13+
14+
各个车道驶出的车辆可能的行驶路线如图所示:
15+
16+
17+
![图片.png](https://pic.leetcode-cn.com/1630393755-gyPeMM-%E5%9B%BE%E7%89%87.png){:height="350px"}
18+
19+
**注意:**
20+
- 测试数据保证不会出现掉头行驶指令,即某一方向的行驶车辆计划开往的方向不会是当前车辆所在的车道的方向;
21+
- 表示堵塞车辆行驶方向的字符串仅用大写字母 `"E"``"N"``"W"``"S"` 表示。
22+
23+
**示例 1:**
24+
>输入:`directions = ["W","N","ES","W"]`
25+
>
26+
>输出:`2`
27+
>
28+
>解释:
29+
>第 1 秒:东西方向排在最前的车先行,剩余车辆状态 `["","N","S","W"]`
30+
>第 2 秒:南、西、北方向的车行驶,路口无等待车辆;
31+
>因此最少需要 2 秒,返回 2。
32+
33+
**示例 2:**
34+
>输入:`directions = ["NS","WE","SE","EW"]`
35+
>
36+
>输出:`3`
37+
>
38+
>解释:
39+
>第 1 秒:四个方向排在最前的车均可驶出;
40+
>第 2 秒:东南方向的车驶出,剩余车辆状态 `["","","E","W"]`
41+
>第 3 秒:西北方向的车驶出。
42+
43+
44+
**提示:**
45+
- `directions.length = 4`
46+
- `0 <= directions[i].length <= 20`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<p>给定一个链表数组,每个链表都已经按升序排列。</p>
2+
3+
<p>请将所有链表合并到一个升序链表中,返回合并后的链表。</p>
4+
5+
<p>&nbsp;</p>
6+
7+
<p><strong>示例 1:</strong></p>
8+
9+
<pre>
10+
<strong>输入:</strong>lists = [[1,4,5],[1,3,4],[2,6]]
11+
<strong>输出:</strong>[1,1,2,3,4,4,5,6]
12+
<strong>解释:</strong>链表数组如下:
13+
[
14+
1-&gt;4-&gt;5,
15+
1-&gt;3-&gt;4,
16+
2-&gt;6
17+
]
18+
将它们合并到一个有序链表中得到。
19+
1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6
20+
</pre>
21+
22+
<p><strong>示例 2:</strong></p>
23+
24+
<pre>
25+
<strong>输入:</strong>lists = []
26+
<strong>输出:</strong>[]
27+
</pre>
28+
29+
<p><strong>示例 3:</strong></p>
30+
31+
<pre>
32+
<strong>输入:</strong>lists = [[]]
33+
<strong>输出:</strong>[]
34+
</pre>
35+
36+
<p>&nbsp;</p>
37+
38+
<p><strong>提示:</strong></p>
39+
40+
<ul>
41+
<li><code>k == lists.length</code></li>
42+
<li><code>0 &lt;= k &lt;= 10^4</code></li>
43+
<li><code>0 &lt;= lists[i].length &lt;= 500</code></li>
44+
<li><code>-10^4 &lt;= lists[i][j] &lt;= 10^4</code></li>
45+
<li><code>lists[i]</code><strong>升序</strong> 排列</li>
46+
<li><code>lists[i].length</code> 的总和不超过 <code>10^4</code></li>
47+
</ul>
48+
49+
<p>&nbsp;</p>
50+
51+
<p><meta charset="UTF-8" />注意:本题与主站 23&nbsp;题相同:&nbsp;<a href="https://leetcode-cn.com/problems/merge-k-sorted-lists/">https://leetcode-cn.com/problems/merge-k-sorted-lists/</a></p>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<p>给定两个整数 <code>n</code><code>k</code>,返回 <code>1 ... n</code> 中所有可能的 <code>k</code> 个数的组合。</p>
2+
3+
<p>&nbsp;</p>
4+
5+
<p><strong>示例 1:</strong></p>
6+
7+
<pre>
8+
<strong>输入:</strong>&nbsp;n = 4, k = 2
9+
<strong>输出:</strong>
10+
[
11+
[2,4],
12+
[3,4],
13+
[2,3],
14+
[1,2],
15+
[1,3],
16+
[1,4],
17+
]</pre>
18+
19+
<p><strong>示例 2:</strong></p>
20+
21+
<pre>
22+
<strong>输入:</strong>&nbsp;n = 1, k = 1
23+
<strong>输出: </strong>[[1]]</pre>
24+
25+
<p>&nbsp;</p>
26+
27+
<p><strong>提示:</strong></p>
28+
29+
<ul>
30+
<li><code>1 &lt;= n &lt;= 20</code></li>
31+
<li><code>1 &lt;= k &lt;= n</code></li>
32+
</ul>
33+
34+
<p>&nbsp;</p>
35+
36+
<p><meta charset="UTF-8" />注意:本题与主站 77&nbsp;题相同:&nbsp;<a href="https://leetcode-cn.com/problems/combinations/">https://leetcode-cn.com/problems/combinations/</a></p>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。
2+
给定一棵二叉树 `root` 代表焰火,节点值表示巨型焰火这一位置的颜色种类。请帮小扣计算巨型焰火有多少种不同的颜色。
3+
4+
5+
**示例 1:**
6+
>输入:`root = [1,3,2,1,null,2]`
7+
>
8+
>输出:`3`
9+
>
10+
>解释:焰火中有 3 个不同的颜色,值分别为 1、2、3
11+
12+
**示例 2:**
13+
>输入:`root = [3,3,3]`
14+
>
15+
>输出:`1`
16+
>
17+
>解释:焰火中仅出现 1 个颜色,值为 3
18+
19+
**提示:**
20+
- `1 <= 节点个数 <= 1000`
21+
- `1 <= Node.val <= 1000`
22+
23+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
「力扣挑战赛」心算项目的挑战比赛中,要求选手从 `N` 张卡牌中选出 `cnt` 张卡牌,若这 `cnt` 张卡牌数字总和为偶数,则选手成绩「有效」且得分为 `cnt` 张卡牌数字总和。
2+
给定数组 `cards``cnt`,其中 `cards[i]` 表示第 `i` 张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。
3+
4+
**示例 1:**
5+
>输入:`cards = [1,2,8,9], cnt = 3`
6+
>
7+
>输出:`18`
8+
>
9+
>解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效得分 1+8+9=18。
10+
11+
**示例 2:**
12+
>输入:`cards = [3,3,1], cnt = 1`
13+
>
14+
>输出:`0`
15+
>
16+
>解释:不存在获取有效得分的卡牌方案。
17+
18+
**提示:**
19+
- `1 <= cnt <= cards.length <= 10^5`
20+
- `1 <= cards[i] <= 1000`
21+
22+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
「力扣挑战赛」有 `n` 个比赛场馆(场馆编号从 `0` 开始),场馆之间的通道分布情况记录于二维数组 `edges` 中,`edges[i]= [x, y]` 表示第 `i` 条通道连接场馆 `x` 和场馆 `y`(即两个场馆相邻)。初始每个场馆中都有一定人数的志愿者(不同场馆人数可能不同),后续 `m` 天每天均会根据赛事热度进行志愿者人数调配。调配方案分为如下三种:
2+
1. 将编号为 `idx` 的场馆内的志愿者人数减半;
3+
2. 将编号为 `idx` 的场馆相邻的场馆的志愿者人数都加上编号为 `idx` 的场馆的志愿者人数;
4+
3. 将编号为 `idx` 的场馆相邻的场馆的志愿者人数都减去编号为 `idx` 的场馆的志愿者人数。
5+
6+
所有的调配信息记录于数组 `plans` 中,`plans[i] = [num,idx]` 表示第 `i` 天对编号 `idx` 的场馆执行了第 `num` 种调配方案。
7+
在比赛结束后对调配方案进行复盘时,不慎将第 `0` 个场馆的**最终**志愿者人数丢失,只保留了**初始**所有场馆的志愿者总人数 `totalNum` ,以及记录了第 `1 ~ n-1` 个场馆的**最终**志愿者人数的一维数组 `finalCnt`。请你根据现有的信息求出初始每个场馆的志愿者人数,并按场馆编号顺序返回志愿者人数列表。
8+
9+
**注意:**
10+
- 测试数据保证当某场馆进行第一种调配时,该场馆的志愿者人数一定为偶数;
11+
- 测试数据保证当某场馆进行第三种调配时,该场馆的相邻场馆志愿者人数不为负数;
12+
- 测试数据保证比赛开始时每个场馆的志愿者人数都不超过 `10^9`
13+
- 测试数据保证给定的场馆间的道路分布情况中不会出现自环、重边的情况。
14+
15+
16+
**示例 1:**
17+
>![image.png](https://pic.leetcode-cn.com/1630061228-gnZsOz-image.png)
18+
> 输入:
19+
>`finalCnt = [1,16], totalNum = 21, edges = [[0,1],[1,2]], plans = [[2,1],[1,0],[3,0]]`
20+
>
21+
> 输出:`[5,7,9]`
22+
>
23+
> 解释:
24+
> ![image.png](https://pic.leetcode-cn.com/1630061300-WuVkeF-image.png){:height=200}
25+
26+
27+
**示例 2 :**
28+
> 输入:
29+
>`finalCnt = [4,13,4,3,8], totalNum = 54, edges = [[0,3],[1,3],[4,3],[2,3],[2,5]], plans = [[1,1],[3,3],[2,5],[1,0]]`
30+
>
31+
> 输出:`[10,16,9,4,7,8]`
32+
33+
34+
35+
**提示:**
36+
- `2 <= n <= 5*10^4`
37+
- `1 <= edges.length <= min((n * (n - 1)) / 2, 5*10^4)`
38+
- `0 <= edges[i][0], edges[i][1] < n`
39+
- `1 <= plans.length <= 10`
40+
- `1 <= plans[i][0] <=3`
41+
- `0 <= plans[i][1] < n`
42+
- `finalCnt.length = n-1`
43+
- `0 <= finalCnt[i] < 10^9`
44+
- `0 <= totalNum < 5*10^13`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<p>给定一个整数数组&nbsp;<code>nums</code> ,数组中的元素 <strong>互不相同</strong> 。返回该数组所有可能的子集(幂集)。</p>
2+
3+
<p>解集 <strong>不能</strong> 包含重复的子集。你可以按 <strong>任意顺序</strong> 返回解集。</p>
4+
5+
<p>&nbsp;</p>
6+
7+
<p><strong>示例 1:</strong></p>
8+
9+
<pre>
10+
<strong>输入:</strong>nums = [1,2,3]
11+
<strong>输出:</strong>[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
12+
</pre>
13+
14+
<p><strong>示例 2:</strong></p>
15+
16+
<pre>
17+
<strong>输入:</strong>nums = [0]
18+
<strong>输出:</strong>[[],[0]]
19+
</pre>
20+
21+
<p>&nbsp;</p>
22+
23+
<p><strong>提示:</strong></p>
24+
25+
<ul>
26+
<li><code>1 &lt;= nums.length &lt;= 10</code></li>
27+
<li><code>-10 &lt;= nums[i] &lt;= 10</code></li>
28+
<li><code>nums</code> 中的所有元素 <strong>互不相同</strong></li>
29+
</ul>
30+
31+
<p>&nbsp;</p>
32+
33+
<p><meta charset="UTF-8" />注意:本题与主站 78&nbsp;题相同:&nbsp;<a href="https://leetcode-cn.com/problems/subsets/">https://leetcode-cn.com/problems/subsets/</a></p>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<p>给定整数数组 <code>nums</code> 和整数 <code>k</code>,请返回数组中第 <code><strong>k</strong></code> 个最大的元素。</p>
2+
3+
<p>请注意,你需要找的是数组排序后的第 <code>k</code> 个最大的元素,而不是第 <code>k</code> 个不同的元素。</p>
4+
5+
<p>&nbsp;</p>
6+
7+
<p><strong>示例 1:</strong></p>
8+
9+
<pre>
10+
<strong>输入:</strong> <code>[3,2,1,5,6,4] 和</code> k = 2
11+
<strong>输出:</strong> 5
12+
</pre>
13+
14+
<p><strong>示例&nbsp;2:</strong></p>
15+
16+
<pre>
17+
<strong>输入:</strong> <code>[3,2,3,1,2,4,5,5,6] 和</code> k = 4
18+
<strong>输出:</strong> 4</pre>
19+
20+
<p>&nbsp;</p>
21+
22+
<p><strong>提示: </strong></p>
23+
24+
<ul>
25+
<li><code>1 &lt;= k &lt;= nums.length &lt;= 10<sup>4</sup></code></li>
26+
<li><code>-10<sup>4</sup>&nbsp;&lt;= nums[i] &lt;= 10<sup>4</sup></code></li>
27+
</ul>
28+
29+
<p>&nbsp;</p>
30+
31+
<p><meta charset="UTF-8" />注意:本题与主站 215&nbsp;题相同:&nbsp;<a href="https://leetcode-cn.com/problems/kth-largest-element-in-an-array/">https://leetcode-cn.com/problems/kth-largest-element-in-an-array/</a></p>

0 commit comments

Comments
 (0)