forked from xtray/zuoAlgorithm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
217 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# 2022年6月第2周 | ||
|
||
--- | ||
|
||
947.[[移除最多的同行或同列石头]] [M] | ||
|
||
2281.[[巫师的总力量和]] [H] | ||
|
||
1819.[[序列中不同最大公约数的数目]] [H] | ||
|
||
829.[[连续整数求和]] [H] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# 巫师的总力量和 | ||
2281.巫师的总力量和 | ||
[H] | ||
|
||
周赛294 | ||
|
||
#单调栈 | ||
#前缀和 | ||
|
||
--- | ||
|
||
https://leetcode.cn/problems/sum-of-total-strength-of-wizards/ | ||
|
||
|
||
作为国王的统治者,你有一支巫师军队听你指挥。 | ||
|
||
给你一个下标从 0 开始的整数数组 strength ,其中 strength[i] 表示第 i 位巫师的力量值。对于连续的一组巫师(也就是这些巫师的力量值是 strength 的 子数组),总力量 定义为以下两个值的 乘积 : | ||
|
||
巫师中 最弱 的能力值。 | ||
组中所有巫师的个人力量值 之和 。 | ||
请你返回 所有 巫师组的 总 力量之和。由于答案可能很大,请将答案对 10^9 + 7 取余 后返回。 | ||
|
||
子数组 是一个数组里 非空 连续子序列。 | ||
|
||
|
||
``` | ||
示例 1: | ||
输入:strength = [1,3,1,2] | ||
输出:44 | ||
解释:以下是所有连续巫师组: | ||
- [1,3,1,2] 中 [1] ,总力量值为 min([1]) * sum([1]) = 1 * 1 = 1 | ||
- [1,3,1,2] 中 [3] ,总力量值为 min([3]) * sum([3]) = 3 * 3 = 9 | ||
- [1,3,1,2] 中 [1] ,总力量值为 min([1]) * sum([1]) = 1 * 1 = 1 | ||
- [1,3,1,2] 中 [2] ,总力量值为 min([2]) * sum([2]) = 2 * 2 = 4 | ||
- [1,3,1,2] 中 [1,3] ,总力量值为 min([1,3]) * sum([1,3]) = 1 * 4 = 4 | ||
- [1,3,1,2] 中 [3,1] ,总力量值为 min([3,1]) * sum([3,1]) = 1 * 4 = 4 | ||
- [1,3,1,2] 中 [1,2] ,总力量值为 min([1,2]) * sum([1,2]) = 1 * 3 = 3 | ||
- [1,3,1,2] 中 [1,3,1] ,总力量值为 min([1,3,1]) * sum([1,3,1]) = 1 * 5 = 5 | ||
- [1,3,1,2] 中 [3,1,2] ,总力量值为 min([3,1,2]) * sum([3,1,2]) = 1 * 6 = 6 | ||
- [1,3,1,2] 中 [1,3,1,2] ,总力量值为 min([1,3,1,2]) * sum([1,3,1,2]) = 1 * 7 = 7 | ||
所有力量值之和为 1 + 9 + 1 + 4 + 4 + 4 + 3 + 5 + 6 + 7 = 44 。 | ||
示例 2: | ||
输入:strength = [5,4,6] | ||
输出:213 | ||
解释:以下是所有连续巫师组: | ||
- [5,4,6] 中 [5] ,总力量值为 min([5]) * sum([5]) = 5 * 5 = 25 | ||
- [5,4,6] 中 [4] ,总力量值为 min([4]) * sum([4]) = 4 * 4 = 16 | ||
- [5,4,6] 中 [6] ,总力量值为 min([6]) * sum([6]) = 6 * 6 = 36 | ||
- [5,4,6] 中 [5,4] ,总力量值为 min([5,4]) * sum([5,4]) = 4 * 9 = 36 | ||
- [5,4,6] 中 [4,6] ,总力量值为 min([4,6]) * sum([4,6]) = 4 * 10 = 40 | ||
- [5,4,6] 中 [5,4,6] ,总力量值为 min([5,4,6]) * sum([5,4,6]) = 4 * 15 = 60 | ||
所有力量值之和为 25 + 16 + 36 + 36 + 40 + 60 = 213 。 | ||
提示: | ||
1 <= strength.length <= 10^5 | ||
1 <= strength[i] <= 10^9 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# 序列中不同最大公约数的数目 | ||
|
||
1819.序列中不同最大公约数的数目 | ||
|
||
[H] | ||
|
||
--- | ||
|
||
https://leetcode.cn/problems/number-of-different-subsequences-gcds | ||
|
||
给你一个由正整数组成的数组 nums 。 | ||
|
||
数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数。 | ||
|
||
例如,序列 `[4,6,16]` 的最大公约数是 2 。 | ||
数组的一个 子序列 本质是一个序列,可以通过删除数组中的某些元素(或者不删除)得到。 | ||
|
||
例如,`[2,5,10]` 是 `[1,2,1,2,4,1,5,10]` 的一个子序列。 | ||
计算并返回 nums 的所有 非空 子序列中 不同 最大公约数的 数目 。 | ||
|
||
|
||
``` | ||
示例 1: | ||
输入:nums = [6,10,3] | ||
输出:5 | ||
解释:上图显示了所有的非空子序列与各自的最大公约数。 | ||
不同的最大公约数为 6 、10 、3 、2 和 1 。 | ||
示例 2: | ||
输入:nums = [5,15,40,5,6] | ||
输出:7 | ||
提示: | ||
1 <= nums.length <= 10^5 | ||
1 <= nums[i] <= 2 * 10^5 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# 移除最多的同行或同列石头 | ||
|
||
|
||
947.移除最多的同行或同列石头 | ||
[M] | ||
|
||
#并查集 | ||
|
||
--- | ||
https://leetcode.cn/problems/most-stones-removed-with-same-row-or-column | ||
|
||
n 块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。 | ||
|
||
如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。 | ||
|
||
给你一个长度为 n 的数组 stones ,其中 stones[i] = [xi, yi] 表示第 i 块石头的位置,返回 可以移除的石子 的最大数量。 | ||
|
||
|
||
``` | ||
示例 1: | ||
输入:stones = [[0,0],[0,1],[1,0],[1,2],[2,1],[2,2]] | ||
输出:5 | ||
解释:一种移除 5 块石头的方法如下所示: | ||
1. 移除石头 [2,2] ,因为它和 [2,1] 同行。 | ||
2. 移除石头 [2,1] ,因为它和 [0,1] 同列。 | ||
3. 移除石头 [1,2] ,因为它和 [1,0] 同行。 | ||
4. 移除石头 [1,0] ,因为它和 [0,0] 同列。 | ||
5. 移除石头 [0,1] ,因为它和 [0,0] 同行。 | ||
石头 [0,0] 不能移除,因为它没有与另一块石头同行/列。 | ||
示例 2: | ||
输入:stones = [[0,0],[0,2],[1,1],[2,0],[2,2]] | ||
输出:3 | ||
解释:一种移除 3 块石头的方法如下所示: | ||
1. 移除石头 [2,2] ,因为它和 [2,0] 同行。 | ||
2. 移除石头 [2,0] ,因为它和 [0,0] 同列。 | ||
3. 移除石头 [0,2] ,因为它和 [0,0] 同行。 | ||
石头 [0,0] 和 [1,1] 不能移除,因为它们没有与另一块石头同行/列。 | ||
示例 3: | ||
输入:stones = [[0,0]] | ||
输出:0 | ||
解释:[0,0] 是平面上唯一一块石头,所以不可以移除它。 | ||
提示: | ||
1 <= stones.length <= 1000 | ||
0 <= xi, yi <= 10^4 | ||
不会有两块石头放在同一个坐标点上 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# 连续整数求和 | ||
|
||
829.连续整数求和 | ||
|
||
[H] | ||
|
||
--- | ||
|
||
https://leetcode.cn/problems/consecutive-numbers-sum/ | ||
|
||
|
||
给定一个正整数 n,返回 连续正整数满足所有数字之和为 n 的组数 。 | ||
|
||
|
||
``` | ||
示例 1: | ||
输入: n = 5 | ||
输出: 2 | ||
解释: 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。 | ||
示例 2: | ||
输入: n = 9 | ||
输出: 3 | ||
解释: 9 = 4 + 5 = 2 + 3 + 4 | ||
示例 3: | ||
输入: n = 15 | ||
输出: 4 | ||
解释: 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5 | ||
提示: | ||
1 <= n <= 10^9 | ||
``` |