mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-05 23:41:41 +08:00
update
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<p>给你两个正整数数组 <code>nums</code> 和 <code>target</code> ,两个数组长度相等。</p>
|
||||
|
||||
<p>在一次操作中,你可以选择两个 <strong>不同</strong> 的下标 <code>i</code> 和 <code>j</code> ,其中 <code>0 <= i, j < nums.length</code> ,并且:</p>
|
||||
|
||||
<ul>
|
||||
<li>令 <code>nums[i] = nums[i] + 2</code> 且</li>
|
||||
<li>令 <code>nums[j] = nums[j] - 2</code> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>如果两个数组中每个元素出现的频率相等,我们称两个数组是 <strong>相似</strong> 的。</p>
|
||||
|
||||
<p>请你返回将 <code>nums</code> 变得与 <code>target</code> 相似的最少操作次数。测试数据保证 <code>nums</code> 一定能变得与 <code>target</code> 相似。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>nums = [8,12,6], target = [2,14,10]
|
||||
<b>输出:</b>2
|
||||
<b>解释:</b>可以用两步操作将 nums 变得与 target 相似:
|
||||
- 选择 i = 0 和 j = 2 ,nums = [10,12,4] 。
|
||||
- 选择 i = 1 和 j = 2 ,nums = [10,14,2] 。
|
||||
2 次操作是最少需要的操作次数。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>nums = [1,2,5], target = [4,1,3]
|
||||
<b>输出:</b>1
|
||||
<b>解释:</b>一步操作可以使 nums 变得与 target 相似:
|
||||
- 选择 i = 1 和 j = 2 ,nums = [1,4,3] 。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 3:</strong></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>nums = [1,1,1,1,1], target = [1,1,1,1,1]
|
||||
<b>输出:</b>0
|
||||
<b>解释:</b>数组 nums 已经与 target 相似。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>n == nums.length == target.length</code></li>
|
||||
<li><code>1 <= n <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= nums[i], target[i] <= 10<sup>6</sup></code></li>
|
||||
<li><code>nums</code> 一定可以变得与 <code>target</code> 相似。</li>
|
||||
</ul>
|
@@ -0,0 +1,42 @@
|
||||
<p>给你两个下标从 <strong>0</strong> 开始的数组 <code>nums</code> 和 <code>cost</code> ,分别包含 <code>n</code> 个 <strong>正</strong> 整数。</p>
|
||||
|
||||
<p>你可以执行下面操作 <strong>任意</strong> 次:</p>
|
||||
|
||||
<ul>
|
||||
<li>将 <code>nums</code> 中 <strong>任意</strong> 元素增加或者减小 <code>1</code> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>对第 <code>i</code> 个元素执行一次操作的开销是 <code>cost[i]</code> 。</p>
|
||||
|
||||
<p>请你返回使 <code>nums</code> 中所有元素 <strong>相等</strong> 的 <strong>最少</strong> 总开销。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><b>输入:</b>nums = [1,3,5,2], cost = [2,3,1,14]
|
||||
<b>输出:</b>8
|
||||
<b>解释:</b>我们可以执行以下操作使所有元素变为 2 :
|
||||
- 增加第 0 个元素 1 次,开销为 2 。
|
||||
- 减小第 1 个元素 1 次,开销为 3 。
|
||||
- 减小第 2 个元素 3 次,开销为 1 + 1 + 1 = 3 。
|
||||
总开销为 2 + 3 + 3 = 8 。
|
||||
这是最小开销。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre><b>输入:</b>nums = [2,2,2,2,2], cost = [4,2,8,1,3]
|
||||
<b>输出:</b>0
|
||||
<b>解释:</b>数组中所有元素已经全部相等,不需要执行额外的操作。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>n == nums.length == cost.length</code></li>
|
||||
<li><code>1 <= n <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= nums[i], cost[i] <= 10<sup>6</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,50 @@
|
||||
<p>给你两个字符串数组 <code>event1</code> 和 <code>event2</code> ,表示发生在同一天的两个闭区间时间段事件,其中:</p>
|
||||
|
||||
<ul>
|
||||
<li><code>event1 = [startTime<sub>1</sub>, endTime<sub>1</sub>]</code> 且</li>
|
||||
<li><code>event2 = [startTime<sub>2</sub>, endTime<sub>2</sub>]</code></li>
|
||||
</ul>
|
||||
|
||||
<p>事件的时间为有效的 24 小时制且按 <code>HH:MM</code> 格式给出。</p>
|
||||
|
||||
<p>当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 <strong>冲突</strong> 。</p>
|
||||
|
||||
<p>如果两个事件之间存在冲突,返回 <code>true</code><em> </em>;否则,返回<em> </em><code>false</code> 。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><b>示例 1:</b></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>event1 = ["01:15","02:00"], event2 = ["02:00","03:00"]
|
||||
<b>输出:</b>true
|
||||
<b>解释:</b>两个事件在 2:00 出现交集。
|
||||
</pre>
|
||||
|
||||
<p><b>示例 2:</b></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>event1 = ["01:00","02:00"], event2 = ["01:20","03:00"]
|
||||
<b>输出:</b>true
|
||||
<b>解释:</b>两个事件的交集从 01:20 开始,到 02:00 结束。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 3:</strong></p>
|
||||
|
||||
<pre>
|
||||
<b>输入:</b>event1 = ["10:00","11:00"], event2 = ["14:00","15:00"]
|
||||
<b>输出:</b>false
|
||||
<b>解释:</b>两个事件不存在交集。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><b>提示:</b></p>
|
||||
|
||||
<ul>
|
||||
<li><code>evnet1.length == event2.length == 2.</code></li>
|
||||
<li><code>event1[i].length == event2[i].length == 5</code></li>
|
||||
<li><code>startTime<sub>1</sub> <= endTime<sub>1</sub></code></li>
|
||||
<li><code>startTime<sub>2</sub> <= endTime<sub>2</sub></code></li>
|
||||
<li>所有事件的时间都按照 <code>HH:MM</code> 格式给出</li>
|
||||
</ul>
|
@@ -0,0 +1,34 @@
|
||||
<p>给你一个整数数组 <code>nums</code> 和一个整数 <code>k</code> ,请你统计并返回 <code>nums</code> 的子数组中元素的最大公因数等于 <code>k</code> 的子数组数目。</p>
|
||||
|
||||
<p><strong>子数组</strong> 是数组中一个连续的非空序列。</p>
|
||||
|
||||
<p><strong>数组的最大公因数</strong> 是能整除数组中所有元素的最大整数。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><b>示例 1:</b></p>
|
||||
|
||||
<pre><b>输入:</b>nums = [9,3,1,2,6,3], k = 3
|
||||
<b>输出:</b>4
|
||||
<b>解释:</b>nums 的子数组中,以 3 作为最大公因数的子数组如下:
|
||||
- [9,<strong><em>3</em></strong>,1,2,6,3]
|
||||
- [9,3,1,2,6,<em><strong>3</strong></em>]
|
||||
- [<strong><em>9,3</em></strong>,1,2,6,3]
|
||||
- [9,3,1,2,<em><strong>6,3</strong></em>]
|
||||
</pre>
|
||||
|
||||
<p><b>示例 2:</b></p>
|
||||
|
||||
<pre><b>输入:</b>nums = [4], k = 7
|
||||
<b>输出:</b>0
|
||||
<b>解释:</b>不存在以 7 作为最大公因数的子数组。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><b>提示:</b></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= nums.length <= 1000</code></li>
|
||||
<li><code>1 <= nums[i], k <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
Reference in New Issue
Block a user