Skip to content

Commit 5f9f00e

Browse files
committed
deploy: 808fe99
1 parent b96b03b commit 5f9f00e

File tree

22 files changed

+7768
-7466
lines changed

22 files changed

+7768
-7466
lines changed

en/lc/1415/index.html

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86414,7 +86414,7 @@ <h2 id="solutions">Solutions</h2>
8641486414
<!-- solution:start -->
8641586415

8641686416
<h3 id="solution-1">Solution 1</h3>
86417-
<div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label></div>
86417+
<div class="tabbed-set tabbed-alternate" data-tabs="1:5"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">TypeScript</label><label for="__tabbed_1_5">JavaScript</label></div>
8641886418
<div class="tabbed-content">
8641986419
<div class="tabbed-block">
8642086420
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -86534,6 +86534,86 @@ <h3 id="solution-1">Solution 1</h3>
8653486534
<span class="p">};</span>
8653586535
</code></pre></div></td></tr></table></div>
8653686536
</div>
86537+
<div class="tabbed-block">
86538+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86539+
<span class="normal"> 2</span>
86540+
<span class="normal"> 3</span>
86541+
<span class="normal"> 4</span>
86542+
<span class="normal"> 5</span>
86543+
<span class="normal"> 6</span>
86544+
<span class="normal"> 7</span>
86545+
<span class="normal"> 8</span>
86546+
<span class="normal"> 9</span>
86547+
<span class="normal">10</span>
86548+
<span class="normal">11</span>
86549+
<span class="normal">12</span>
86550+
<span class="normal">13</span>
86551+
<span class="normal">14</span>
86552+
<span class="normal">15</span>
86553+
<span class="normal">16</span>
86554+
<span class="normal">17</span>
86555+
<span class="normal">18</span>
86556+
<span class="normal">19</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">getHappyString</span><span class="p">(</span><span class="nx">n</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">,</span><span class="w"> </span><span class="nx">k</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="p">{</span>
86557+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
86558+
86559+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dfs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;&#39;</span><span class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p">{</span>
86560+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86561+
<span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">s</span><span class="p">);</span>
86562+
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
86563+
<span class="w"> </span><span class="p">}</span>
86564+
86565+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">ch</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="s1">&#39;abc&#39;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86566+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">at</span><span class="p">(</span><span class="o">-</span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">ch</span><span class="p">)</span><span class="w"> </span><span class="k">continue</span><span class="p">;</span>
86567+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">ch</span><span class="p">);</span>
86568+
<span class="w"> </span><span class="p">}</span>
86569+
<span class="w"> </span><span class="p">};</span>
86570+
86571+
<span class="w"> </span><span class="nx">dfs</span><span class="p">();</span>
86572+
86573+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">k</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="s1">&#39;&#39;</span><span class="p">;</span>
86574+
<span class="p">}</span>
86575+
</code></pre></div></td></tr></table></div>
86576+
</div>
86577+
<div class="tabbed-block">
86578+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86579+
<span class="normal"> 2</span>
86580+
<span class="normal"> 3</span>
86581+
<span class="normal"> 4</span>
86582+
<span class="normal"> 5</span>
86583+
<span class="normal"> 6</span>
86584+
<span class="normal"> 7</span>
86585+
<span class="normal"> 8</span>
86586+
<span class="normal"> 9</span>
86587+
<span class="normal">10</span>
86588+
<span class="normal">11</span>
86589+
<span class="normal">12</span>
86590+
<span class="normal">13</span>
86591+
<span class="normal">14</span>
86592+
<span class="normal">15</span>
86593+
<span class="normal">16</span>
86594+
<span class="normal">17</span>
86595+
<span class="normal">18</span>
86596+
<span class="normal">19</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">getHappyString</span><span class="p">(</span><span class="nx">n</span><span class="p">,</span><span class="w"> </span><span class="nx">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86597+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
86598+
86599+
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dfs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;&#39;</span><span class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w"> </span><span class="p">{</span>
86600+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86601+
<span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">s</span><span class="p">);</span>
86602+
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
86603+
<span class="w"> </span><span class="p">}</span>
86604+
86605+
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">ch</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="s1">&#39;abc&#39;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86606+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">at</span><span class="p">(</span><span class="o">-</span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">ch</span><span class="p">)</span><span class="w"> </span><span class="k">continue</span><span class="p">;</span>
86607+
<span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">s</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">ch</span><span class="p">);</span>
86608+
<span class="w"> </span><span class="p">}</span>
86609+
<span class="w"> </span><span class="p">};</span>
86610+
86611+
<span class="w"> </span><span class="nx">dfs</span><span class="p">();</span>
86612+
86613+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">[</span><span class="nx">k</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="s1">&#39;&#39;</span><span class="p">;</span>
86614+
<span class="p">}</span>
86615+
</code></pre></div></td></tr></table></div>
86616+
</div>
8653786617
</div>
8653886618
</div>
8653986619
<!-- solution:end -->
@@ -86567,6 +86647,11 @@ <h3 id="solution-1">Solution 1</h3>
8656786647

8656886648
<nav>
8656986649

86650+
<a href="https://github.com/rain84" class="md-author" title="@rain84">
86651+
86652+
<img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
86653+
</a>
86654+
8657086655
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8657186656

8657286657
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">

en/lc/2330/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58709,9 +58709,9 @@
5870958709
<ul class="md-nav__list">
5871058710

5871158711
<li class="md-nav__item">
58712-
<a href="#solution-1" class="md-nav__link">
58712+
<a href="#solution-1-two-pointers" class="md-nav__link">
5871358713
<span class="md-ellipsis">
58714-
Solution 1
58714+
Solution 1: Two Pointers
5871558715
</span>
5871658716
</a>
5871758717

@@ -86409,7 +86409,9 @@ <h2 id="description">Description</h2>
8640986409
<h2 id="solutions">Solutions</h2>
8641086410
<!-- solution:start -->
8641186411

86412-
<h3 id="solution-1">Solution 1</h3>
86412+
<h3 id="solution-1-two-pointers">Solution 1: Two Pointers</h3>
86413+
<p>We can use two pointers <span class="arithmatex">\(i\)</span> and <span class="arithmatex">\(j\)</span>, pointing to the beginning and end of the string, respectively, and then move towards the center, counting the number of different characters. If the number of different characters is greater than <span class="arithmatex">\(2\)</span>, return <span class="arithmatex">\(\textit{false}\)</span>; otherwise, return <span class="arithmatex">\(\textit{true}\)</span>.</p>
86414+
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, and the space complexity is <span class="arithmatex">\(O(1)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the length of the string <span class="arithmatex">\(s\)</span>.</p>
8641386415
<div class="tabbed-set tabbed-alternate" data-tabs="1:5"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label></div>
8641486416
<div class="tabbed-content">
8641586417
<div class="tabbed-block">

en/lc/2378/index.html

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59765,9 +59765,9 @@
5976559765
<ul class="md-nav__list">
5976659766

5976759767
<li class="md-nav__item">
59768-
<a href="#solution-1" class="md-nav__link">
59768+
<a href="#solution-1-tree-dp" class="md-nav__link">
5976959769
<span class="md-ellipsis">
59770-
Solution 1
59770+
Solution 1: Tree DP
5977159771
</span>
5977259772
</a>
5977359773

@@ -86426,7 +86426,15 @@ <h2 id="description">Description</h2>
8642686426
<h2 id="solutions">Solutions</h2>
8642786427
<!-- solution:start -->
8642886428

86429-
<h3 id="solution-1">Solution 1</h3>
86429+
<h3 id="solution-1-tree-dp">Solution 1: Tree DP</h3>
86430+
<p>We design a function <span class="arithmatex">\(dfs(i)\)</span>, which represents the maximum sum of the weights of selected edges in the subtree rooted at node <span class="arithmatex">\(i\)</span>, such that no two selected edges are adjacent. This function returns two values <span class="arithmatex">\((a, b)\)</span>. The first value <span class="arithmatex">\(a\)</span> represents the sum of the weights of selected edges when the edge between the current node <span class="arithmatex">\(i\)</span> and its parent node is selected. The second value <span class="arithmatex">\(b\)</span> represents the sum of the weights of selected edges when the edge between the current node <span class="arithmatex">\(i\)</span> and its parent node is not selected.</p>
86431+
<p>We can observe the following for the current node <span class="arithmatex">\(i\)</span>:</p>
86432+
<ul>
86433+
<li>If the edge between <span class="arithmatex">\(i\)</span> and its parent node is selected, then none of the edges between <span class="arithmatex">\(i\)</span> and its child nodes can be selected. In this case, the value of <span class="arithmatex">\(a\)</span> for the current node is the sum of the <span class="arithmatex">\(b\)</span> values of all its child nodes.</li>
86434+
<li>If the edge between <span class="arithmatex">\(i\)</span> and its parent node is not selected, then we can select at most one edge between <span class="arithmatex">\(i\)</span> and its child nodes. In this case, the value of <span class="arithmatex">\(b\)</span> for the current node is the sum of the <span class="arithmatex">\(a\)</span> values of the selected child nodes and the <span class="arithmatex">\(b\)</span> values of the unselected child nodes, plus the weight of the edge between <span class="arithmatex">\(i\)</span> and the selected child node.</li>
86435+
</ul>
86436+
<p>We call the function <span class="arithmatex">\(dfs(0)\)</span>, and the second value returned is the answer, which is the sum of the weights of selected edges when the edge between the root node and its parent node is not selected.</p>
86437+
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, and the space complexity is <span class="arithmatex">\(O(n)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the number of nodes.</p>
8643086438
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
8643186439
<div class="tabbed-content">
8643286440
<div class="tabbed-block">

en/lc/2510/index.html

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62669,9 +62669,9 @@
6266962669
<ul class="md-nav__list">
6267062670

6267162671
<li class="md-nav__item">
62672-
<a href="#solution-1" class="md-nav__link">
62672+
<a href="#solution-1-memoization-search" class="md-nav__link">
6267362673
<span class="md-ellipsis">
62674-
Solution 1
62674+
Solution 1: Memoization Search
6267562675
</span>
6267662676
</a>
6267762677

@@ -86404,7 +86404,10 @@ <h2 id="description">Description</h2>
8640486404
<h2 id="solutions">Solutions</h2>
8640586405
<!-- solution:start -->
8640686406

86407-
<h3 id="solution-1">Solution 1</h3>
86407+
<h3 id="solution-1-memoization-search">Solution 1: Memoization Search</h3>
86408+
<p>According to the problem description, we know that the number of 0s and 1s on the path from the top-left corner to the bottom-right corner is equal, and the total number is <span class="arithmatex">\(m + n - 1\)</span>, which means the number of 0s and 1s are both <span class="arithmatex">\((m + n - 1) / 2\)</span>.</p>
86409+
<p>Therefore, we can use memoization search, starting from the top-left corner and moving right or down until reaching the bottom-right corner, to check if the number of 0s and 1s on the path is equal.</p>
86410+
<p>The time complexity is <span class="arithmatex">\(O(m \times n \times (m + n))\)</span>. Here, <span class="arithmatex">\(m\)</span> and <span class="arithmatex">\(n\)</span> are the number of rows and columns of the matrix, respectively.</p>
8640886411
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
8640986412
<div class="tabbed-content">
8641086413
<div class="tabbed-block">

en/lc/2523/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62955,9 +62955,9 @@
6295562955
<ul class="md-nav__list">
6295662956

6295762957
<li class="md-nav__item">
62958-
<a href="#solution-1" class="md-nav__link">
62958+
<a href="#solution-1-linear-sieve" class="md-nav__link">
6295962959
<span class="md-ellipsis">
62960-
Solution 1
62960+
Solution 1: Linear Sieve
6296162961
</span>
6296262962
</a>
6296362963

@@ -86412,7 +86412,9 @@ <h2 id="description">Description</h2>
8641286412
<h2 id="solutions">Solutions</h2>
8641386413
<!-- solution:start -->
8641486414

86415-
<h3 id="solution-1">Solution 1</h3>
86415+
<h3 id="solution-1-linear-sieve">Solution 1: Linear Sieve</h3>
86416+
<p>For the given range <span class="arithmatex">\([\textit{left}, \textit{right}]\)</span>, we can use the linear sieve method to find all prime numbers. Then, we traverse the prime numbers in ascending order to find the pair of adjacent prime numbers with the smallest difference, which will be the answer.</p>
86417+
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, and the space complexity is <span class="arithmatex">\(O(n)\)</span>. Here, <span class="arithmatex">\(n = \textit{right}\)</span>.</p>
8641686418
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
8641786419
<div class="tabbed-content">
8641886420
<div class="tabbed-block">

0 commit comments

Comments
 (0)