mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-05 07:21:40 +08:00
update
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<p>卡车有两个油箱。给你两个整数,<code>mainTank</code> 表示主油箱中的燃料(以升为单位),<code>additionalTank</code> 表示副油箱中的燃料(以升为单位)。</p>
|
||||
|
||||
<p>该卡车每耗费 <code>1</code> 升燃料都可以行驶 <code>10</code> km。每当主油箱使用了 <code>5</code> 升燃料时,如果副油箱至少有 <code>1</code> 升燃料,则会将 <code>1</code> 升燃料从副油箱转移到主油箱。</p>
|
||||
|
||||
<p>返回卡车可以行驶的最大距离。</p>
|
||||
|
||||
<p>注意:从副油箱向主油箱注入燃料不是连续行为。这一事件会在每消耗 <code>5</code> 升燃料时突然且立即发生。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong>mainTank = 5, additionalTank = 10
|
||||
<strong>输出:</strong>60
|
||||
<strong>解释:</strong>
|
||||
在用掉 5 升燃料后,主油箱中燃料还剩下 (5 - 5 + 1) = 1 升,行驶距离为 50km 。
|
||||
在用掉剩下的 1 升燃料后,没有新的燃料注入到主油箱中,主油箱变为空。
|
||||
总行驶距离为 60km 。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong>mainTank = 1, additionalTank = 2
|
||||
<strong>输出:</strong>10
|
||||
<strong>解释:</strong>
|
||||
在用掉 1 升燃料后,主油箱变为空。
|
||||
总行驶距离为 10km 。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= mainTank, additionalTank <= 100</code></li>
|
||||
</ul>
|
@@ -0,0 +1,48 @@
|
||||
<p>给你一个 <strong>正</strong> 整数数组 <code>nums</code> 。</p>
|
||||
|
||||
<p>将 <code>nums</code> 分成两个数组:<code>nums1</code> 和 <code>nums2</code> ,并满足下述条件:</p>
|
||||
|
||||
<ul>
|
||||
<li>数组 <code>nums</code> 中的每个元素都属于数组 <code>nums1</code> 或数组 <code>nums2</code> 。</li>
|
||||
<li>两个数组都 <strong>非空</strong> 。</li>
|
||||
<li>分区值 <strong>最小</strong> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>分区值的计算方法是 <code>|max(nums1) - min(nums2)|</code> 。</p>
|
||||
|
||||
<p>其中,<code>max(nums1)</code> 表示数组 <code>nums1</code> 中的最大元素,<code>min(nums2)</code> 表示数组 <code>nums2</code> 中的最小元素。</p>
|
||||
|
||||
<p>返回表示分区值的整数。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong>nums = [1,3,2,4]
|
||||
<strong>输出:</strong>1
|
||||
<strong>解释:</strong>可以将数组 nums 分成 nums1 = [1,2] 和 nums2 = [3,4] 。
|
||||
- 数组 nums1 的最大值等于 2 。
|
||||
- 数组 nums2 的最小值等于 3 。
|
||||
分区值等于 |2 - 3| = 1 。
|
||||
可以证明 1 是所有分区方案的最小值。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong>nums = [100,1,10]
|
||||
<strong>输出:</strong>9
|
||||
<strong>解释:</strong>可以将数组 nums 分成 nums1 = [10] 和 nums2 = [100,1] 。
|
||||
- 数组 nums1 的最大值等于 10 。
|
||||
- 数组 nums2 的最小值等于 1 。
|
||||
分区值等于 |10 - 1| = 9 。
|
||||
可以证明 9 是所有分区方案的最小值。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>2 <= nums.length <= 10<sup>5</sup></code></li>
|
||||
<li><code>1 <= nums[i] <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,32 @@
|
||||
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> ,它包含 <code>n</code> 个 <strong>互不相同</strong> 的正整数。如果 <code>nums</code> 的一个排列满足以下条件,我们称它是一个特别的排列:</p>
|
||||
|
||||
<ul>
|
||||
<li>对于 <code>0 <= i < n - 1</code> 的下标 <code>i</code> ,要么 <code>nums[i] % nums[i+1] == 0</code> ,要么 <code>nums[i+1] % nums[i] == 0</code> 。</li>
|
||||
</ul>
|
||||
|
||||
<p>请你返回特别排列的总数目,由于答案可能很大,请将它对<strong> </strong><code>10<sup>9 </sup>+ 7</code> <strong>取余</strong> 后返回。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><strong>输入:</strong>nums = [2,3,6]
|
||||
<b>输出:</b>2
|
||||
<b>解释:</b>[3,6,2] 和 [2,6,3] 是 nums 两个特别的排列。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre><b>输入:</b>nums = [1,4,3]
|
||||
<b>输出:</b>2
|
||||
<b>解释:</b>[3,1,4] 和 [4,1,3] 是 nums 两个特别的排列。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>2 <= nums.length <= 14</code></li>
|
||||
<li><code>1 <= nums[i] <= 10<sup>9</sup></code></li>
|
||||
</ul>
|
@@ -0,0 +1,35 @@
|
||||
<p>给你两个长度为 <code>n</code> 下标从 <strong>0</strong> 开始的整数数组 <code>cost</code> 和 <code>time</code> ,分别表示给 <code>n</code> 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠:</p>
|
||||
|
||||
<ul>
|
||||
<li>一位需要 <strong>付费</strong> 的油漆匠,刷第 <code>i</code> 堵墙需要花费 <code>time[i]</code> 单位的时间,开销为 <code>cost[i]</code> 单位的钱。</li>
|
||||
<li>一位 <strong>免费</strong> 的油漆匠,刷 <strong>任意</strong> 一堵墙的时间为 <code>1</code> 单位,开销为 <code>0</code> 。但是必须在付费油漆匠 <strong>工作</strong> 时,免费油漆匠才会工作。</li>
|
||||
</ul>
|
||||
|
||||
<p>请你返回刷完 <code>n</code> 堵墙最少开销为多少。</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>示例 1:</strong></p>
|
||||
|
||||
<pre><b>输入:</b>cost = [1,2,3,2], time = [1,2,3,2]
|
||||
<b>输出:</b>3
|
||||
<strong>解释:</strong>下标为 0 和 1 的墙由付费油漆匠来刷,需要 3 单位时间。同时,免费油漆匠刷下标为 2 和 3 的墙,需要 2 单位时间,开销为 0 。总开销为 1 + 2 = 3 。
|
||||
</pre>
|
||||
|
||||
<p><strong>示例 2:</strong></p>
|
||||
|
||||
<pre><b>输入:</b>cost = [2,3,4,2], time = [1,1,1,1]
|
||||
<b>输出:</b>4
|
||||
<b>解释:</b>下标为 0 和 3 的墙由付费油漆匠来刷,需要 2 单位时间。同时,免费油漆匠刷下标为 1 和 2 的墙,需要 2 单位时间,开销为 0 。总开销为 2 + 2 = 4 。
|
||||
</pre>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p><strong>提示:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li><code>1 <= cost.length <= 500</code></li>
|
||||
<li><code>cost.length == time.length</code></li>
|
||||
<li><code>1 <= cost[i] <= 10<sup>6</sup></code></li>
|
||||
<li><code>1 <= time[i] <= 500</code></li>
|
||||
</ul>
|
Reference in New Issue
Block a user