1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-05 23:41:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
zhangbk1
2024-09-23 14:31:00 +08:00
parent fc8e794743
commit 76e35939b6
23 changed files with 16869 additions and 14748 deletions

View File

@@ -0,0 +1,41 @@
<p>给你一个字符串数组 <code>message</code> 和一个字符串数组 <code>bannedWords</code></p>
<p>如果数组中 <strong>至少</strong> 存在两个单词与 <code>bannedWords</code> 中的任一单词 <strong>完全相同</strong>,则该数组被视为 <strong>垃圾信息</strong></p>
<p>如果数组 <code>message</code> 是垃圾信息,则返回 <code>true</code>;否则返回 <code>false</code></p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">message = ["hello","world","leetcode"], bannedWords = ["world","hello"]</span></p>
<p><strong>输出:</strong> <span class="example-io">true</span></p>
<p><strong>解释:</strong></p>
<p>数组 <code>message</code> 中的 <code>"hello"</code><code>"world"</code> 都出现在数组 <code>bannedWords</code> 中。</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">message = ["hello","programming","fun"], bannedWords = ["world","programming","leetcode"]</span></p>
<p><strong>输出:</strong> <span class="example-io">false</span></p>
<p><strong>解释:</strong></p>
<p>数组 <code>message</code> 中只有一个单词(<code>"programming"</code>)出现在数组 <code>bannedWords</code> 中。</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= message.length, bannedWords.length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= message[i].length, bannedWords[i].length &lt;= 15</code></li>
<li><code>message[i]</code><code>bannedWords[i]</code> 都只由小写英文字母组成。</li>
</ul>

View File

@@ -0,0 +1,80 @@
<p>给你一个整数 <code>mountainHeight</code> 表示山的高度。</p>
<p>同时给你一个整数数组 <code>workerTimes</code>,表示工人们的工作时间(单位:<strong></strong>)。</p>
<p>工人们需要 <strong>同时 </strong>进行工作以 <strong>降低 </strong>山的高度。对于工人 <code>i</code> :</p>
<ul>
<li>山的高度降低 <code>x</code>,需要花费 <code>workerTimes[i] + workerTimes[i] * 2 + ... + workerTimes[i] * x</code> 秒。例如:
<ul>
<li>山的高度降低 1需要 <code>workerTimes[i]</code> 秒。</li>
<li>山的高度降低 2需要 <code>workerTimes[i] + workerTimes[i] * 2</code> 秒,依此类推。</li>
</ul>
</li>
</ul>
<p>返回一个整数,表示工人们使山的高度降低到 0 所需的 <strong>最少</strong> 秒数。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">mountainHeight = 4, workerTimes = [2,1,1]</span></p>
<p><strong>输出:</strong> <span class="example-io">3</span></p>
<p><strong>解释:</strong></p>
<p>将山的高度降低到 0 的一种方式是:</p>
<ul>
<li>工人 0 将高度降低 1花费 <code>workerTimes[0] = 2</code> 秒。</li>
<li>工人 1 将高度降低 2花费 <code>workerTimes[1] + workerTimes[1] * 2 = 3</code> 秒。</li>
<li>工人 2 将高度降低 1花费 <code>workerTimes[2] = 1</code> 秒。</li>
</ul>
<p>因为工人同时工作,所需的最少时间为 <code>max(2, 3, 1) = 3</code> 秒。</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">mountainHeight = 10, workerTimes = [3,2,2,4]</span></p>
<p><strong>输出:</strong> <span class="example-io">12</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>工人 0 将高度降低 2花费 <code>workerTimes[0] + workerTimes[0] * 2 = 9</code> 秒。</li>
<li>工人 1 将高度降低 3花费 <code>workerTimes[1] + workerTimes[1] * 2 + workerTimes[1] * 3 = 12</code> 秒。</li>
<li>工人 2 将高度降低 3花费 <code>workerTimes[2] + workerTimes[2] * 2 + workerTimes[2] * 3 = 12</code> 秒。</li>
<li>工人 3 将高度降低 2花费 <code>workerTimes[3] + workerTimes[3] * 2 = 12</code> 秒。</li>
</ul>
<p>所需的最少时间为 <code>max(9, 12, 12, 12) = 12</code> 秒。</p>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">mountainHeight = 5, workerTimes = [1]</span></p>
<p><strong>输出:</strong> <span class="example-io">15</span></p>
<p><strong>解释:</strong></p>
<p>这个示例中只有一个工人,所以答案是 <code>workerTimes[0] + workerTimes[0] * 2 + workerTimes[0] * 3 + workerTimes[0] * 4 + workerTimes[0] * 5 = 15</code> 秒。</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= mountainHeight &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= workerTimes.length &lt;= 10<sup>4</sup></code></li>
<li><code>1 &lt;= workerTimes[i] &lt;= 10<sup>6</sup></code></li>
</ul>

View File

@@ -0,0 +1,49 @@
<p>给你两个字符串&nbsp;<code>word1</code>&nbsp;<code>word2</code>&nbsp;</p>
<p>如果一个字符串 <code>x</code>&nbsp;重新排列后,<code>word2</code>&nbsp;是重排字符串的&nbsp;<span data-keyword="string-prefix">前缀</span>&nbsp;,那么我们称字符串&nbsp;<code>x</code>&nbsp;&nbsp;<strong>合法的</strong>&nbsp;</p>
<p>请你返回 <code>word1</code>&nbsp;<strong>合法</strong>&nbsp;<span data-keyword="substring-nonempty">子字符串</span>&nbsp;的数目。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "bcca", word2 = "abc"</span></p>
<p><span class="example-io"><b>输出:</b>1</span></p>
<p><strong>解释:</strong></p>
<p>唯一合法的子字符串是&nbsp;<code>"bcca"</code>&nbsp;,可以重新排列得到&nbsp;<code>"abcc"</code>&nbsp;<code>"abc"</code>&nbsp;是它的前缀。</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "abcabc", word2 = "abc"</span></p>
<p><span class="example-io"><b>输出:</b>10</span></p>
<p><strong>解释:</strong></p>
<p>除了长度为 1 和 2 的所有子字符串都是合法的。</p>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "abcabc", word2 = "aaabc"</span></p>
<p><span class="example-io"><b>输出:</b>0</span></p>
</div>
<p>&nbsp;</p>
<p><strong>解释:</strong></p>
<ul>
<li><code>1 &lt;= word1.length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= word2.length &lt;= 10<sup>4</sup></code></li>
<li><code>word1</code>&nbsp;<code>word2</code>&nbsp;都只包含小写英文字母。</li>
</ul>

View File

@@ -0,0 +1,51 @@
<p>给你两个字符串&nbsp;<code>word1</code>&nbsp;<code>word2</code>&nbsp;</p>
<p>如果一个字符串 <code>x</code>&nbsp;重新排列后,<code>word2</code>&nbsp;是重排字符串的&nbsp;<span data-keyword="string-prefix">前缀</span>&nbsp;,那么我们称字符串&nbsp;<code>x</code>&nbsp;&nbsp;<strong>合法的</strong>&nbsp;</p>
<p>请你返回 <code>word1</code>&nbsp;<strong>合法</strong>&nbsp;<span data-keyword="substring-nonempty">子字符串</span>&nbsp;的数目。</p>
<p><strong>注意</strong>&nbsp;,这个问题中的内存限制比其他题目要&nbsp;<strong></strong>&nbsp;,所以你&nbsp;<strong>必须</strong>&nbsp;实现一个线性复杂度的解法。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "bcca", word2 = "abc"</span></p>
<p><span class="example-io"><b>输出:</b>1</span></p>
<p><strong>解释:</strong></p>
<p>唯一合法的子字符串是&nbsp;<code>"bcca"</code>&nbsp;,可以重新排列得到&nbsp;<code>"abcc"</code>&nbsp;<code>"abc"</code>&nbsp;是它的前缀。</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "abcabc", word2 = "abc"</span></p>
<p><span class="example-io"><b>输出:</b>10</span></p>
<p><strong>解释:</strong></p>
<p>除了长度为 1 和 2 的所有子字符串都是合法的。</p>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>word1 = "abcabc", word2 = "aaabc"</span></p>
<p><span class="example-io"><b>输出:</b>0</span></p>
</div>
<p>&nbsp;</p>
<p><strong>解释:</strong></p>
<ul>
<li><code>1 &lt;= word1.length &lt;= 10<sup>6</sup></code></li>
<li><code>1 &lt;= word2.length &lt;= 10<sup>4</sup></code></li>
<li><code>word1</code>&nbsp;<code>word2</code>&nbsp;都只包含小写英文字母。</li>
</ul>