Skip to content

Commit 05197a8

Browse files
committed
deploy: 8a4905e
1 parent c864306 commit 05197a8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+728
-139
lines changed

en/lc/1028/index.html

Lines changed: 112 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86418,7 +86418,7 @@ <h2 id="solutions">Solutions</h2>
8641886418
<!-- solution:start -->
8641986419

8642086420
<h3 id="solution-1">Solution 1</h3>
86421-
<div class="tabbed-set tabbed-alternate" data-tabs="1:1"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">C++</label></div>
86421+
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Java</label><label for="__tabbed_1_2">C++</label></div>
8642286422
<div class="tabbed-content">
8642386423
<div class="tabbed-block">
8642486424
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -86466,6 +86466,112 @@ <h3 id="solution-1">Solution 1</h3>
8646686466
<span class="normal">43</span>
8646786467
<span class="normal">44</span>
8646886468
<span class="normal">45</span>
86469+
<span class="normal">46</span>
86470+
<span class="normal">47</span>
86471+
<span class="normal">48</span>
86472+
<span class="normal">49</span>
86473+
<span class="normal">50</span>
86474+
<span class="normal">51</span>
86475+
<span class="normal">52</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
86476+
<span class="cm"> * Definition for a binary tree node.</span>
86477+
<span class="cm"> * public class TreeNode {</span>
86478+
<span class="cm"> * int val;</span>
86479+
<span class="cm"> * TreeNode left;</span>
86480+
<span class="cm"> * TreeNode right;</span>
86481+
<span class="cm"> * TreeNode() {}</span>
86482+
<span class="cm"> * TreeNode(int val) { this.val = val; }</span>
86483+
<span class="cm"> * TreeNode(int val, TreeNode left, TreeNode right) {</span>
86484+
<span class="cm"> * this.val = val;</span>
86485+
<span class="cm"> * this.left = left;</span>
86486+
<span class="cm"> * this.right = right;</span>
86487+
<span class="cm"> * }</span>
86488+
<span class="cm"> * }</span>
86489+
<span class="cm"> */</span>
86490+
<span class="kd">class</span> <span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
86491+
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">TreeNode</span><span class="w"> </span><span class="nf">recoverFromPreorder</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">traversal</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86492+
<span class="w"> </span><span class="n">Stack</span><span class="o">&lt;</span><span class="n">TreeNode</span><span class="o">&gt;</span><span class="w"> </span><span class="n">stack</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Stack</span><span class="o">&lt;&gt;</span><span class="p">();</span>
86493+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
86494+
86495+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">traversal</span><span class="p">.</span><span class="na">length</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
86496+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">depth</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
86497+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">traversal</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">traversal</span><span class="p">.</span><span class="na">charAt</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">&#39;-&#39;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86498+
<span class="w"> </span><span class="n">depth</span><span class="o">++</span><span class="p">;</span>
86499+
<span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">;</span>
86500+
<span class="w"> </span><span class="p">}</span>
86501+
86502+
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
86503+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">traversal</span><span class="p">.</span><span class="na">length</span><span class="p">()</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">Character</span><span class="p">.</span><span class="na">isDigit</span><span class="p">(</span><span class="n">traversal</span><span class="p">.</span><span class="na">charAt</span><span class="p">(</span><span class="n">i</span><span class="p">)))</span><span class="w"> </span><span class="p">{</span>
86504+
<span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">num</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">traversal</span><span class="p">.</span><span class="na">charAt</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="sc">&#39;0&#39;</span><span class="p">);</span>
86505+
<span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">;</span>
86506+
<span class="w"> </span><span class="p">}</span>
86507+
86508+
<span class="w"> </span><span class="c1">// Create the new node</span>
86509+
<span class="w"> </span><span class="n">TreeNode</span><span class="w"> </span><span class="n">newNode</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TreeNode</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
86510+
86511+
<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">stack</span><span class="p">.</span><span class="na">size</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">depth</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86512+
<span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">pop</span><span class="p">();</span>
86513+
<span class="w"> </span><span class="p">}</span>
86514+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">stack</span><span class="p">.</span><span class="na">isEmpty</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
86515+
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">stack</span><span class="p">.</span><span class="na">peek</span><span class="p">().</span><span class="na">left</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86516+
<span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">peek</span><span class="p">().</span><span class="na">left</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">newNode</span><span class="p">;</span>
86517+
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
86518+
<span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">peek</span><span class="p">().</span><span class="na">right</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">newNode</span><span class="p">;</span>
86519+
<span class="w"> </span><span class="p">}</span>
86520+
<span class="w"> </span><span class="p">}</span>
86521+
86522+
<span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">push</span><span class="p">(</span><span class="n">newNode</span><span class="p">);</span>
86523+
<span class="w"> </span><span class="p">}</span>
86524+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">isEmpty</span><span class="p">()</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">stack</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
86525+
<span class="w"> </span><span class="p">}</span>
86526+
<span class="p">}</span>
86527+
</code></pre></div></td></tr></table></div>
86528+
</div>
86529+
<div class="tabbed-block">
86530+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86531+
<span class="normal"> 2</span>
86532+
<span class="normal"> 3</span>
86533+
<span class="normal"> 4</span>
86534+
<span class="normal"> 5</span>
86535+
<span class="normal"> 6</span>
86536+
<span class="normal"> 7</span>
86537+
<span class="normal"> 8</span>
86538+
<span class="normal"> 9</span>
86539+
<span class="normal">10</span>
86540+
<span class="normal">11</span>
86541+
<span class="normal">12</span>
86542+
<span class="normal">13</span>
86543+
<span class="normal">14</span>
86544+
<span class="normal">15</span>
86545+
<span class="normal">16</span>
86546+
<span class="normal">17</span>
86547+
<span class="normal">18</span>
86548+
<span class="normal">19</span>
86549+
<span class="normal">20</span>
86550+
<span class="normal">21</span>
86551+
<span class="normal">22</span>
86552+
<span class="normal">23</span>
86553+
<span class="normal">24</span>
86554+
<span class="normal">25</span>
86555+
<span class="normal">26</span>
86556+
<span class="normal">27</span>
86557+
<span class="normal">28</span>
86558+
<span class="normal">29</span>
86559+
<span class="normal">30</span>
86560+
<span class="normal">31</span>
86561+
<span class="normal">32</span>
86562+
<span class="normal">33</span>
86563+
<span class="normal">34</span>
86564+
<span class="normal">35</span>
86565+
<span class="normal">36</span>
86566+
<span class="normal">37</span>
86567+
<span class="normal">38</span>
86568+
<span class="normal">39</span>
86569+
<span class="normal">40</span>
86570+
<span class="normal">41</span>
86571+
<span class="normal">42</span>
86572+
<span class="normal">43</span>
86573+
<span class="normal">44</span>
86574+
<span class="normal">45</span>
8646986575
<span class="normal">46</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
8647086576
<span class="cm"> * Definition for a binary tree node.</span>
8647186577
<span class="cm"> * struct TreeNode {</span>
@@ -86547,6 +86653,11 @@ <h3 id="solution-1">Solution 1</h3>
8654786653

8654886654
<nav>
8654986655

86656+
<a href="https://github.com/PATILYASH007" class="md-author" title="@PATILYASH007">
86657+
86658+
<img src="https://avatars.githubusercontent.com/u/159998226?v=4&size=72" alt="PATILYASH007">
86659+
</a>
86660+
8655086661
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8655186662

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

en/lc/1718/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86362,7 +86362,7 @@ <h1 id="1718-construct-the-lexicographically-largest-valid-sequence"><a href="ht
8636286362
<h2 id="description">Description</h2>
8636386363
<!-- description:start -->
8636486364

86365-
<p>Given an integer <code>n</code>, find a sequence that satisfies all of the following:</p>
86365+
<p>Given an integer <code>n</code>, find a sequence with elements in the range <code>[1, n]</code> that satisfies all of the following:</p>
8636686366

8636786367
<ul>
8636886368
<li>The integer <code>1</code> occurs once in the sequence.</li>

en/lc/1944/index.html

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50217,9 +50217,9 @@
5021750217
<ul class="md-nav__list">
5021850218

5021950219
<li class="md-nav__item">
50220-
<a href="#solution-1" class="md-nav__link">
50220+
<a href="#solution-1-monotonic-stack" class="md-nav__link">
5022150221
<span class="md-ellipsis">
50222-
Solution 1
50222+
Solution 1: Monotonic Stack
5022350223
</span>
5022450224
</a>
5022550225

@@ -86413,7 +86413,13 @@ <h2 id="description">Description</h2>
8641386413
<h2 id="solutions">Solutions</h2>
8641486414
<!-- solution:start -->
8641586415

86416-
<h3 id="solution-1">Solution 1</h3>
86416+
<h3 id="solution-1-monotonic-stack">Solution 1: Monotonic Stack</h3>
86417+
<p>We observe that for the <span class="arithmatex">\(i\)</span>-th person, the people he can see must be strictly increasing in height from left to right.</p>
86418+
<p>Therefore, we can traverse the array <span class="arithmatex">\(\textit{heights}\)</span> in reverse order, using a stack <span class="arithmatex">\(\textit{stk}\)</span> that is monotonically increasing from top to bottom to record the heights of the people we have traversed.</p>
86419+
<p>For the <span class="arithmatex">\(i\)</span>-th person, if the stack is not empty and the top element of the stack is less than <span class="arithmatex">\(\textit{heights}[i]\)</span>, we increment the count of people the <span class="arithmatex">\(i\)</span>-th person can see, then pop the top element of the stack, until the stack is empty or the top element of the stack is greater than or equal to <span class="arithmatex">\(\textit{heights}[i]\)</span>. If the stack is not empty at this point, it means the top element of the stack is greater than or equal to <span class="arithmatex">\(\textit{heights}[i]\)</span>, so we increment the count of people the <span class="arithmatex">\(i\)</span>-th person can see by 1.</p>
86420+
<p>Next, we push <span class="arithmatex">\(\textit{heights}[i]\)</span> onto the stack and continue to the next person.</p>
86421+
<p>After traversing, we return the answer array <span class="arithmatex">\(\textit{ans}\)</span>.</p>
86422+
<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 length of the array <span class="arithmatex">\(\textit{heights}\)</span>.</p>
8641786423
<div class="tabbed-set tabbed-alternate" data-tabs="1:7"><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" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" 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><label for="__tabbed_1_6">Rust</label><label for="__tabbed_1_7">C</label></div>
8641886424
<div class="tabbed-content">
8641986425
<div class="tabbed-block">

0 commit comments

Comments
 (0)