Skip to content

Commit ebe2083

Browse files
committed
deploy: fc9fb4d
1 parent 475358b commit ebe2083

File tree

9 files changed

+388
-46
lines changed

9 files changed

+388
-46
lines changed

en/lc/2708/index.html

Lines changed: 177 additions & 3 deletions
Large diffs are not rendered by default.

en/lc/2771/index.html

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64997,9 +64997,9 @@
6499764997
<ul class="md-nav__list">
6499864998

6499964999
<li class="md-nav__item">
65000-
<a href="#solution-1" class="md-nav__link">
65000+
<a href="#solution-1-dynamic-programming" class="md-nav__link">
6500165001
<span class="md-ellipsis">
65002-
Solution 1
65002+
Solution 1: Dynamic Programming
6500365003
</span>
6500465004
</a>
6500565005

@@ -75473,7 +75473,19 @@ <h2 id="description">Description</h2>
7547375473
</ul>
7547475474

7547575475
<h2 id="solutions">Solutions</h2>
75476-
<h3 id="solution-1">Solution 1</h3>
75476+
<h3 id="solution-1-dynamic-programming">Solution 1: Dynamic Programming</h3>
75477+
<p>We define two variables $f$ and $g$, which represent the length of the longest non-decreasing subarray at the current position. Here, $f$ represents the length of the longest non-decreasing subarray ending with an element from $nums1$, and $g$ represents the length of the longest non-decreasing subarray ending with an element from $nums2$. Initially, $f = g = 1$, and the initial answer $ans = 1$.</p>
75478+
<p>Next, we iterate over the array elements in the range $i \in [1, n)$, and for each $i$, we define two variables $ff$ and $gg$, which represent the length of the longest non-decreasing subarray ending with $nums1[i]$ and $nums2[i]$ respectively. When initialized, $ff = gg = 1$.</p>
75479+
<p>We can calculate the values of $ff$ and $gg$ based on the values of $f$ and $g$:</p>
75480+
<ul>
75481+
<li>If $nums1[i] \ge nums1[i - 1]$, then $ff = \max(ff, f + 1)$;</li>
75482+
<li>If $nums1[i] \ge nums2[i - 1]$, then $ff = \max(ff, g + 1)$;</li>
75483+
<li>If $nums2[i] \ge nums1[i - 1]$, then $gg = \max(gg, f + 1)$;</li>
75484+
<li>If $nums2[i] \ge nums2[i - 1]$, then $gg = \max(gg, g + 1)$.</li>
75485+
</ul>
75486+
<p>Then, we update $f = ff$ and $g = gg$, and update $ans$ to $\max(ans, f, g)$.</p>
75487+
<p>After the iteration ends, we return $ans$.</p>
75488+
<p>The time complexity is $O(n)$, where $n$ is the length of the array. The space complexity is $O(1)$.</p>
7547775489
<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>
7547875490
<div class="tabbed-content">
7547975491
<div class="tabbed-block">

en/lc/2773/index.html

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

6504165041
<li class="md-nav__item">
65042-
<a href="#solution-1" class="md-nav__link">
65042+
<a href="#solution-1-dfs" class="md-nav__link">
6504365043
<span class="md-ellipsis">
65044-
Solution 1
65044+
Solution 1: DFS
6504565045
</span>
6504665046
</a>
6504765047

@@ -75490,7 +75490,9 @@ <h2 id="description">Description</h2>
7549075490
</ul>
7549175491

7549275492
<h2 id="solutions">Solutions</h2>
75493-
<h3 id="solution-1">Solution 1</h3>
75493+
<h3 id="solution-1-dfs">Solution 1: DFS</h3>
75494+
<p>The key to the problem is how to determine whether a node is a leaf node. We design a function $dfs(root, d)$, where $root$ represents the current node, and $d$ represents the depth of the current node. Each time we search, we update the answer $ans = \max(ans, d)$, and then determine whether the current node is a leaf node. If the current node has a left child, and the right child of the left child is not the current node, then we recursively call $dfs(root.left, d + 1)$. If the current node has a right child, and the left child of the right child is not the current node, then we recursively call $dfs(root.right, d + 1)$.</p>
75495+
<p>The time complexity is $O(n)$, and the space complexity is $O(n)$. Where $n$ is the number of nodes in the binary tree.</p>
7549475496
<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>
7549575497
<div class="tabbed-content">
7549675498
<div class="tabbed-block">

en/lc/3140/index.html

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75496,12 +75496,7 @@ <h3 id="solution-1-using-window-function">Solution 1: Using Window Function</h3>
7549675496
<span class="normal">19</span>
7549775497
<span class="normal">20</span>
7549875498
<span class="normal">21</span>
75499-
<span class="normal">22</span>
75500-
<span class="normal">23</span>
75501-
<span class="normal">24</span>
75502-
<span class="normal">25</span>
75503-
<span class="normal">26</span>
75504-
<span class="normal">27</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
75499+
<span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="o">#</span><span class="w"> </span><span class="k">Write</span><span class="w"> </span><span class="n">your</span><span class="w"> </span><span class="n">MySQL</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">below</span>
7550575500
<span class="k">WITH</span>
7550675501
<span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
7550775502
<span class="w"> </span><span class="k">SELECT</span>
@@ -75514,18 +75509,13 @@ <h3 id="solution-1-using-window-function">Solution 1: Using Window Function</h3>
7551475509
<span class="w"> </span><span class="k">SELECT</span>
7551575510
<span class="w"> </span><span class="k">MIN</span><span class="p">(</span><span class="n">seat_id</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">first_seat_id</span><span class="p">,</span>
7551675511
<span class="w"> </span><span class="k">MAX</span><span class="p">(</span><span class="n">seat_id</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">last_seat_id</span><span class="p">,</span>
75517-
<span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">consecutive_seats_len</span>
75512+
<span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">consecutive_seats_len</span><span class="p">,</span>
75513+
<span class="w"> </span><span class="n">RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">COUNT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">rk</span>
7551875514
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">T</span>
7551975515
<span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">gid</span>
75520-
<span class="w"> </span><span class="p">),</span>
75521-
<span class="w"> </span><span class="n">S</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
75522-
<span class="w"> </span><span class="k">SELECT</span>
75523-
<span class="w"> </span><span class="o">*</span><span class="p">,</span>
75524-
<span class="w"> </span><span class="n">RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">consecutive_seats_len</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">rk</span>
75525-
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">P</span>
7552675516
<span class="w"> </span><span class="p">)</span>
7552775517
<span class="k">SELECT</span><span class="w"> </span><span class="n">first_seat_id</span><span class="p">,</span><span class="w"> </span><span class="n">last_seat_id</span><span class="p">,</span><span class="w"> </span><span class="n">consecutive_seats_len</span>
75528-
<span class="k">FROM</span><span class="w"> </span><span class="n">S</span>
75518+
<span class="k">FROM</span><span class="w"> </span><span class="n">P</span>
7552975519
<span class="k">WHERE</span><span class="w"> </span><span class="n">rk</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span>
7553075520
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
7553175521
</code></pre></div></td></tr></table></div>

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)