Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 08fbe66

Browse files
committed
feat: add solutions to lc problem: No.1020.Number of Enclaves
1 parent 1c9ce7c commit 08fbe66

24 files changed

+1080
-3
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# [LCP 39. 无人机方阵](https://leetcode-cn.com/problems/0jQkd0)
2+
3+
## 题目描述
4+
5+
<!-- 这里写题目描述 -->
6+
7+
在 「力扣挑战赛」 开幕式的压轴节目 「无人机方阵」中,每一架无人机展示一种灯光颜色。 无人机方阵通过两种操作进行颜色图案变换:
8+
9+
- 调整无人机的位置布局
10+
- 切换无人机展示的灯光颜色
11+
12+
给定两个大小均为 `N*M` 的二维数组 `source``target` 表示无人机方阵表演的两种颜色图案,由于无人机切换灯光颜色的耗能很大,请返回从 `source``target` 最少需要多少架无人机切换灯光颜色。
13+
14+
**注意:** 调整无人机的位置布局时无人机的位置可以随意变动。
15+
16+
**示例 1:**
17+
18+
> 输入:`source = [[1,3],[5,4]], target = [[3,1],[6,5]]`
19+
>
20+
> 输出:`1`
21+
>
22+
> 解释:
23+
> 最佳方案为
24+
> `[0,1]` 处的无人机移动至 `[0,0]` 处;
25+
> `[0,0]` 处的无人机移动至 `[0,1]` 处;
26+
> `[1,0]` 处的无人机移动至 `[1,1]` 处;
27+
> `[1,1]` 处的无人机移动至 `[1,0]` 处,其灯光颜色切换为颜色编号为 `6` 的灯光;
28+
> 因此从`source``target` 所需要的最少灯光切换次数为 1。
29+
> ![8819ccdd664e91c78cde3bba3c701986.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2039.%20无人机方阵/images/1628823765-uCDaux-8819ccdd664e91c78cde3bba3c701986.gif){:height=300px}
30+
31+
**示例 2:**
32+
33+
> 输入:`source = [[1,2,3],[3,4,5]], target = [[1,3,5],[2,3,4]]`
34+
>
35+
> 输出:`0`
36+
> 解释:
37+
> 仅需调整无人机的位置布局,便可完成图案切换。因此不需要无人机切换颜色
38+
39+
**提示:**
40+
`n == source.length == target.length`
41+
`m == source[i].length == target[i].length`
42+
`1 <= n, m <=100`
43+
`1 <= source[i][j], target[i][j] <=10^4`
44+
45+
## 解法
46+
47+
<!-- 这里可写通用的实现逻辑 -->
48+
49+
<!-- tabs:start -->
50+
51+
### **Python3**
52+
53+
<!-- 这里可写当前语言的特殊实现逻辑 -->
54+
55+
```python
56+
57+
```
58+
59+
### **Java**
60+
61+
<!-- 这里可写当前语言的特殊实现逻辑 -->
62+
63+
```java
64+
65+
```
66+
67+
### **...**
68+
69+
```
70+
71+
```
72+
73+
<!-- tabs:end -->
664 KB
Loading[フレーム]

‎lcp/LCP 40. 心算挑战/README.md‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# [LCP 40. 心算挑战](https://leetcode-cn.com/problems/uOAnQW)
2+
3+
## 题目描述
4+
5+
<!-- 这里写题目描述 -->
6+
7+
「力扣挑战赛」心算项目的挑战比赛中,要求选手从 `N` 张卡牌中选出 `cnt` 张卡牌,若这 `cnt` 张卡牌数字总和为偶数,则选手成绩「有效」且得分为 `cnt` 张卡牌数字总和。
8+
给定数组 `cards``cnt`,其中 `cards[i]` 表示第 `i` 张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。
9+
10+
**示例 1:**
11+
12+
> 输入:`cards = [1,2,8,9], cnt = 3`
13+
>
14+
> 输出:`18`
15+
>
16+
> 解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效得分 1+8+9=18。
17+
18+
**示例 2:**
19+
20+
> 输入:`cards = [3,3,1], cnt = 1`
21+
>
22+
> 输出:`0`
23+
>
24+
> 解释:不存在获取有效得分的卡牌方案。
25+
26+
**提示:**
27+
28+
- `1 <= cnt <= cards.length <= 10^5`
29+
- `1 <= cards[i] <= 1000`
30+
31+
## 解法
32+
33+
<!-- 这里可写通用的实现逻辑 -->
34+
35+
<!-- tabs:start -->
36+
37+
### **Python3**
38+
39+
<!-- 这里可写当前语言的特殊实现逻辑 -->
40+
41+
```python
42+
43+
```
44+
45+
### **Java**
46+
47+
<!-- 这里可写当前语言的特殊实现逻辑 -->
48+
49+
```java
50+
51+
```
52+
53+
### **...**
54+
55+
```
56+
57+
```
58+
59+
<!-- tabs:end -->
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# [LCP 41. 黑白翻转棋](https://leetcode-cn.com/problems/fHi6rV)
2+
3+
## 题目描述
4+
5+
<!-- 这里写题目描述 -->
6+
7+
`n*m` 大小的棋盘中,有黑白两种棋子,黑棋记作字母 `"X"`, 白棋记作字母 `"O"`,空余位置记作 `"."`。当落下的棋子与其他相同颜色的棋子在行、列或对角线完全包围(中间不存在空白位置)另一种颜色的棋子,则可以翻转这些棋子的颜色。
8+
9+
![1.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2041.%20黑白翻转棋/images/1630396029-eTgzpN-6da662e67368466a96d203f67bb6e793.gif){:height=170px}![2.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2041.%20黑白翻转棋/images/1630396240-nMvdcc-8e4261afe9f60e05a4f740694b439b6b.gif){:height=170px}![3.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2041.%20黑白翻转棋/images/1630396291-kEtzLL-6fcb682daeecb5c3f56eb88b23c81d33.gif){:height=170px}
10+
11+
「力扣挑战赛」黑白翻转棋项目中,将提供给选手一个未形成可翻转棋子的棋盘残局,其状态记作 `chessboard`。若下一步可放置一枚黑棋,请问选手最多能翻转多少枚白棋。
12+
13+
**注意:**
14+
15+
- 若翻转白棋成黑棋后,棋盘上仍存在可以翻转的白棋,将可以 **继续** 翻转白棋
16+
- 输入数据保证初始棋盘状态无可以翻转的棋子且存在空余位置
17+
18+
**示例 1:**
19+
20+
> 输入:`chessboard = ["....X.","....X.","XOOO..","......","......"]`
21+
>
22+
> 输出:`3`
23+
>
24+
> 解释:
25+
> 可以选择下在 `[2,4]` 处,能够翻转白方三枚棋子。
26+
27+
**示例 2:**
28+
29+
> 输入:`chessboard = [".X.",".O.","XO."]`
30+
>
31+
> 输出:`2`
32+
>
33+
> 解释:
34+
> 可以选择下在 `[2,2]` 处,能够翻转白方两枚棋子。
35+
> ![2126c1d21b1b9a9924c639d449cc6e65.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2041.%20黑白翻转棋/images/1626683255-OBtBud-2126c1d21b1b9a9924c639d449cc6e65.gif)
36+
37+
**示例 3:**
38+
39+
> 输入:`chessboard = [".......",".......",".......","X......",".O.....","..O....","....OOX"]`
40+
>
41+
> 输出:`4`
42+
>
43+
> 解释:
44+
> 可以选择下在 `[6,3]` 处,能够翻转白方四枚棋子。
45+
> ![803f2f04098b6174397d6c696f54d709.gif](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2041.%20黑白翻转棋/images/1630393770-Puyked-803f2f04098b6174397d6c696f54d709.gif)
46+
47+
**提示:**
48+
49+
- `1 <= chessboard.length, chessboard[i].length <= 8`
50+
- `chessboard[i]` 仅包含 `"."、"O"``"X"`
51+
52+
## 解法
53+
54+
<!-- 这里可写通用的实现逻辑 -->
55+
56+
<!-- tabs:start -->
57+
58+
### **Python3**
59+
60+
<!-- 这里可写当前语言的特殊实现逻辑 -->
61+
62+
```python
63+
64+
```
65+
66+
### **Java**
67+
68+
<!-- 这里可写当前语言的特殊实现逻辑 -->
69+
70+
```java
71+
72+
```
73+
74+
### **...**
75+
76+
```
77+
78+
```
79+
80+
<!-- tabs:end -->
1.27 MB
Loading[フレーム]
884 KB
Loading[フレーム]
699 KB
Loading[フレーム]
727 KB
Loading[フレーム]
725 KB
Loading[フレーム]

‎lcp/LCP 42. 玩具套圈/README.md‎

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# [LCP 42. 玩具套圈](https://leetcode-cn.com/problems/vFjcfV)
2+
3+
## 题目描述
4+
5+
<!-- 这里写题目描述 -->
6+
7+
「力扣挑战赛」场地外,小力组织了一个套玩具的游戏。所有的玩具摆在平地上,`toys[i]``[xi,yi,ri]` 的形式记录了第 `i` 个玩具的坐标 `(xi,yi)` 和半径 `ri`。小扣试玩了一下,他扔了若干个半径均为 `r` 的圈,`circles[j]` 记录了第 `j` 个圈的坐标 `(xj,yj)`。套圈的规则如下:
8+
9+
- 若一个玩具被某个圈完整覆盖了(即玩具的任意部分均在圈内或者圈上),则该玩具被套中。
10+
- 若一个玩具被多个圈同时套中,最终仅计算为套中一个玩具
11+
12+
请帮助小扣计算,他成功套中了多少玩具。
13+
14+
**注意:**
15+
16+
- 输入数据保证任意两个玩具的圆心不会重合,但玩具之间可能存在重叠。
17+
18+
**示例 1:**
19+
20+
> 输入:`toys = [[3,3,1],[3,2,1]], circles = [[4,3]], r = 2`
21+
>
22+
> 输出:`1`
23+
>
24+
> 解释: 如图所示,仅套中一个玩具
25+
> ![image.png](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2042.%20玩具套圈/images/1629194140-ydKiGF-image.png)
26+
27+
**示例 2:**
28+
29+
> 输入:`toys = [[1,3,2],[4,3,1],[7,1,2]], circles = [[1,0],[3,3]], r = 4`
30+
>
31+
> 输出:`2`
32+
>
33+
> 解释: 如图所示,套中两个玩具
34+
> ![image.png](https://cdn.jsdelivr.net/gh/doocs/leetcode@main/lcp/LCP%2042.%20玩具套圈/images/1629194157-RiOAuy-image.png){:width="400px"}
35+
36+
**提示:**
37+
38+
- `1 <= toys.length <= 10^4`
39+
- `0 <= toys[i][0], toys[i][1] <= 10^9`
40+
- `1 <= circles.length <= 10^4`
41+
- `0 <= circles[i][0], circles[i][1] <= 10^9`
42+
- `1 <= toys[i][2], r <= 10`
43+
44+
## 解法
45+
46+
<!-- 这里可写通用的实现逻辑 -->
47+
48+
<!-- tabs:start -->
49+
50+
### **Python3**
51+
52+
<!-- 这里可写当前语言的特殊实现逻辑 -->
53+
54+
```python
55+
56+
```
57+
58+
### **Java**
59+
60+
<!-- 这里可写当前语言的特殊实现逻辑 -->
61+
62+
```java
63+
64+
```
65+
66+
### **...**
67+
68+
```
69+
70+
```
71+
72+
<!-- tabs:end -->

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /