mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-10-21 13:06:47 +08:00
update
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
187
leetcode/originData/count-distinct-numbers-on-board.json
Normal file
187
leetcode/originData/count-distinct-numbers-on-board.json
Normal file
File diff suppressed because one or more lines are too long
193
leetcode/originData/count-increasing-quadruplets.json
Normal file
193
leetcode/originData/count-increasing-quadruplets.json
Normal file
File diff suppressed because one or more lines are too long
187
leetcode/originData/put-marbles-in-bags.json
Normal file
187
leetcode/originData/put-marbles-in-bags.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,42 @@
|
||||
<p>There is a regular convex polygon with <code>n</code> vertices. The vertices are labeled from <code>0</code> to <code>n - 1</code> in a clockwise direction, and each vertex has <strong>exactly one monkey</strong>. The following figure shows a convex polygon of <code>6</code> vertices.</p>
|
||||
<img alt="" src="https://assets.leetcode.com/uploads/2023/01/22/hexagon.jpg" style="width: 300px; height: 293px;" />
|
||||
<p>Each monkey moves simultaneously to a neighboring vertex. A neighboring vertex for a vertex <code>i</code> can be:</p>
|
||||
|
||||
<ul>
|
||||
<li>the vertex <code>(i + 1) % n</code> in the clockwise direction, or</li>
|
||||
<li>the vertex <code>(i - 1 + n) % n</code> in the counter-clockwise direction.</li>
|
||||
</ul>
|
||||
|
||||
<p>A <strong>collision</strong> happens if at least two monkeys reside on the same vertex after the movement.</p>
|
||||
|
||||
<p>Return <em>the number of ways the monkeys can move so that at least <strong>one collision</strong></em> <em> happens</em>. Since the answer may be very large, return it modulo <code>10<sup>9 </sup>+ 7</code>.</p>
|
||||
|
||||
<p><strong>Note</strong> that each monkey can only move once.</p>
|
||||
|
||||
<p> </p>
|
||||
<p><strong class="example">Example 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 3
|
||||
<strong>Output:</strong> 6
|
||||
<strong>Explanation:</strong> There are 8 total possible movements.
|
||||
Two ways such that they collide at some point are:
|
||||
- Monkey 1 moves in a clockwise direction; monkey 2 moves in an anticlockwise direction; monkey 3 moves in a clockwise direction. Monkeys 1 and 2 collide.
|
||||
- Monkey 1 moves in an anticlockwise direction; monkey 2 moves in an anticlockwise direction; monkey 3 moves in a clockwise direction. Monkeys 1 and 3 collide.
|
||||
It can be shown 6 total movements result in a collision.
|
||||
</pre>
|
||||
|
||||
<p><strong class="example">Example 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 4
|
||||
<strong>Output:</strong> 14
|
||||
<strong>Explanation:</strong> It can be shown that there are 14 ways for the monkeys to collide.
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>Constraints:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>3 <= n <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
44
leetcode/problem/count-distinct-numbers-on-board.html
Normal file
44
leetcode/problem/count-distinct-numbers-on-board.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<p>You are given a positive integer <code>n</code>, that is initially placed on a board. Every day, for <code>10<sup>9</sup></code> days, you perform the following procedure:</p>
|
||||
|
||||
<ul>
|
||||
<li>For each number <code>x</code> present on the board, find all numbers <code>1 <= i <= n</code> such that <code>x % i == 1</code>.</li>
|
||||
<li>Then, place those numbers on the board.</li>
|
||||
</ul>
|
||||
|
||||
<p>Return<em> the number of <strong>distinct</strong> integers present on the board after</em> <code>10<sup>9</sup></code> <em>days have elapsed</em>.</p>
|
||||
|
||||
<p><strong>Note:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>Once a number is placed on the board, it will remain on it until the end.</li>
|
||||
<li><code>%</code> stands for the modulo operation. For example, <code>14 % 3</code> is <code>2</code>.</li>
|
||||
</ul>
|
||||
|
||||
<p> </p>
|
||||
<p><strong class="example">Example 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 5
|
||||
<strong>Output:</strong> 4
|
||||
<strong>Explanation:</strong> Initially, 5 is present on the board.
|
||||
The next day, 2 and 4 will be added since 5 % 2 == 1 and 5 % 4 == 1.
|
||||
After that day, 3 will be added to the board because 4 % 3 == 1.
|
||||
At the end of a billion days, the distinct numbers on the board will be 2, 3, 4, and 5.
|
||||
</pre>
|
||||
|
||||
<p><strong class="example">Example 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> n = 3
|
||||
<strong>Output:</strong> 2
|
||||
<strong>Explanation:</strong>
|
||||
Since 3 % 2 == 1, 2 will be added to the board.
|
||||
After a billion days, the only two distinct numbers on the board are 2 and 3.
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>Constraints:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= n <= 100</code></li>
|
||||
</ul>
|
37
leetcode/problem/count-increasing-quadruplets.html
Normal file
37
leetcode/problem/count-increasing-quadruplets.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<p>Given a <strong>0-indexed</strong> integer array <code>nums</code> of size <code>n</code> containing all numbers from <code>1</code> to <code>n</code>, return <em>the number of increasing quadruplets</em>.</p>
|
||||
|
||||
<p>A quadruplet <code>(i, j, k, l)</code> is increasing if:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>0 <= i < j < k < l < n</code>, and</li>
|
||||
<li><code>nums[i] < nums[k] < nums[j] < nums[l]</code>.</li>
|
||||
</ul>
|
||||
|
||||
<p> </p>
|
||||
<p><strong class="example">Example 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> nums = [1,3,2,4,5]
|
||||
<strong>Output:</strong> 2
|
||||
<strong>Explanation:</strong>
|
||||
- When i = 0, j = 1, k = 2, and l = 3, nums[i] < nums[k] < nums[j] < nums[l].
|
||||
- When i = 0, j = 1, k = 2, and l = 4, nums[i] < nums[k] < nums[j] < nums[l].
|
||||
There are no other quadruplets, so we return 2.
|
||||
</pre>
|
||||
|
||||
<p><strong class="example">Example 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> nums = [1,2,3,4]
|
||||
<strong>Output:</strong> 0
|
||||
<strong>Explanation:</strong> There exists only one quadruplet with i = 0, j = 1, k = 2, l = 3, but since nums[j] < nums[k], we return 0.
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>Constraints:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>4 <= nums.length <= 4000</code></li>
|
||||
<li><code>1 <= nums[i] <= nums.length</code></li>
|
||||
<li>All the integers of <code>nums</code> are <strong>unique</strong>. <code>nums</code> is a permutation.</li>
|
||||
</ul>
|
42
leetcode/problem/put-marbles-in-bags.html
Normal file
42
leetcode/problem/put-marbles-in-bags.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<p>You have <code>k</code> bags. You are given a <strong>0-indexed</strong> integer array <code>weights</code> where <code>weights[i]</code> is the weight of the <code>i<sup>th</sup></code> marble. You are also given the integer <code>k.</code></p>
|
||||
|
||||
<p>Divide the marbles into the <code>k</code> bags according to the following rules:</p>
|
||||
|
||||
<ul>
|
||||
<li>No bag is empty.</li>
|
||||
<li>If the <code>i<sup>th</sup></code> marble and <code>j<sup>th</sup></code> marble are in a bag, then all marbles with an index between the <code>i<sup>th</sup></code> and <code>j<sup>th</sup></code> indices should also be in that same bag.</li>
|
||||
<li>If a bag consists of all the marbles with an index from <code>i</code> to <code>j</code> inclusively, then the cost of the bag is <code>weights[i] + weights[j]</code>.</li>
|
||||
</ul>
|
||||
|
||||
<p>The <strong>score</strong> after distributing the marbles is the sum of the costs of all the <code>k</code> bags.</p>
|
||||
|
||||
<p>Return <em>the <strong>difference</strong> between the <strong>maximum</strong> and <strong>minimum</strong> scores among marble distributions</em>.</p>
|
||||
|
||||
<p> </p>
|
||||
<p><strong class="example">Example 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> weights = [1,3,5,1], k = 2
|
||||
<strong>Output:</strong> 4
|
||||
<strong>Explanation:</strong>
|
||||
The distribution [1],[3,5,1] results in the minimal score of (1+1) + (3+1) = 6.
|
||||
The distribution [1,3],[5,1], results in the maximal score of (1+3) + (5+1) = 10.
|
||||
Thus, we return their difference 10 - 6 = 4.
|
||||
</pre>
|
||||
|
||||
<p><strong class="example">Example 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<strong>Input:</strong> weights = [1, 3], k = 2
|
||||
<strong>Output:</strong> 0
|
||||
<strong>Explanation:</strong> The only distribution possible is [1],[3].
|
||||
Since both the maximal and minimal score are the same, we return 0.
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
<p><strong>Constraints:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= k <= weights.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= weights[i] <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
Reference in New Issue
Block a user