Skip to content

Commit 25045c1

Browse files
committed
deploy: 0d6c8dd
1 parent ae0361d commit 25045c1

File tree

6 files changed

+37
-14
lines changed

6 files changed

+37
-14
lines changed

en/lc/1761/index.html

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46171,9 +46171,9 @@
4617146171
<ul class="md-nav__list">
4617246172

4617346173
<li class="md-nav__item">
46174-
<a href="#solution-1" class="md-nav__link">
46174+
<a href="#solution-1-brute-force-enumeration" class="md-nav__link">
4617546175
<span class="md-ellipsis">
46176-
Solution 1
46176+
Solution 1: Brute Force Enumeration
4617746177
</span>
4617846178
</a>
4617946179

@@ -86161,7 +86161,11 @@ <h2 id="description">Description</h2>
8616186161
<h2 id="solutions">Solutions</h2>
8616286162
<!-- solution:start -->
8616386163

86164-
<h3 id="solution-1">Solution 1</h3>
86164+
<h3 id="solution-1-brute-force-enumeration">Solution 1: Brute Force Enumeration</h3>
86165+
<p>We first store all edges in the adjacency matrix <span class="arithmatex">\(\textit{g}\)</span>, and then store the degree of each node in the array <span class="arithmatex">\(\textit{deg}\)</span>. Initialize the answer <span class="arithmatex">\(\textit{ans} = +\infty\)</span>.</p>
86166+
<p>Then enumerate all triplets <span class="arithmatex">\((i, j, k)\)</span>, where <span class="arithmatex">\(i \lt j \lt k\)</span>. If <span class="arithmatex">\(\textit{g}[i][j] = \textit{g}[j][k] = \textit{g}[i][k] = 1\)</span>, it means these three nodes form a connected trio. In this case, update the answer to <span class="arithmatex">\(\textit{ans} = \min(\textit{ans}, \textit{deg}[i] + \textit{deg}[j] + \textit{deg}[k] - 6)\)</span>.</p>
86167+
<p>After enumerating all triplets, if the answer is still <span class="arithmatex">\(+\infty\)</span>, it means there is no connected trio in the graph, return <span class="arithmatex">\(-1\)</span>. Otherwise, return the answer.</p>
86168+
<p>The time complexity is <span class="arithmatex">\(O(n^3)\)</span>, and the space complexity is <span class="arithmatex">\(O(n^2)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the number of nodes.</p>
8616586169
<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>
8616686170
<div class="tabbed-content">
8616786171
<div class="tabbed-block">
@@ -86181,7 +86185,15 @@ <h3 id="solution-1">Solution 1</h3>
8618186185
<span class="normal">14</span>
8618286186
<span class="normal">15</span>
8618386187
<span class="normal">16</span>
86184-
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
86188+
<span class="normal">17</span>
86189+
<span class="normal">18</span>
86190+
<span class="normal">19</span>
86191+
<span class="normal">20</span>
86192+
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">min</span><span class="p">(</span><span class="n">a</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
86193+
<span class="k">return</span> <span class="n">a</span> <span class="k">if</span> <span class="n">a</span> <span class="o">&lt;</span> <span class="n">b</span> <span class="k">else</span> <span class="n">b</span>
86194+
86195+
86196+
<span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
8618586197
<span class="k">def</span><span class="w"> </span><span class="nf">minTrioDegree</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">n</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">edges</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
8618686198
<span class="n">g</span> <span class="o">=</span> <span class="p">[[</span><span class="kc">False</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
8618786199
<span class="n">deg</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span>

en/lc/1762/index.html

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

4619546195
<li class="md-nav__item">
46196-
<a href="#solution-1" class="md-nav__link">
46196+
<a href="#solution-1-reverse-traversal-to-find-the-maximum-on-the-right" class="md-nav__link">
4619746197
<span class="md-ellipsis">
46198-
Solution 1
46198+
Solution 1: Reverse Traversal to Find the Maximum on the Right
4619946199
</span>
4620046200
</a>
4620146201

@@ -86172,7 +86172,10 @@ <h2 id="description">Description</h2>
8617286172
<h2 id="solutions">Solutions</h2>
8617386173
<!-- solution:start -->
8617486174

86175-
<h3 id="solution-1">Solution 1</h3>
86175+
<h3 id="solution-1-reverse-traversal-to-find-the-maximum-on-the-right">Solution 1: Reverse Traversal to Find the Maximum on the Right</h3>
86176+
<p>We traverse the array <span class="arithmatex">\(\textit{height}\)</span> in reverse order for each element <span class="arithmatex">\(v\)</span>, comparing <span class="arithmatex">\(v\)</span> with the maximum element <span class="arithmatex">\(mx\)</span> on the right. If <span class="arithmatex">\(mx \lt v\)</span>, it means all elements to the right are smaller than the current element, so the current position can see the ocean and is added to the result array <span class="arithmatex">\(\textit{ans}\)</span>. Then we update <span class="arithmatex">\(mx\)</span> to <span class="arithmatex">\(v\)</span>.</p>
86177+
<p>After the traversal, return <span class="arithmatex">\(\textit{ans}\)</span> in reverse order.</p>
86178+
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the array. Ignoring the space consumption of the answer array, the space complexity is <span class="arithmatex">\(O(1)\)</span>.</p>
8617686179
<div class="tabbed-set tabbed-alternate" data-tabs="1:6"><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" /><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">JavaScript</label></div>
8617786180
<div class="tabbed-content">
8617886181
<div class="tabbed-block">

en/search/search_index.json

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

lc/1761/index.html

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90960,8 +90960,8 @@ <h2 id="_2">解法</h2>
9096090960
<!-- solution:start -->
9096190961

9096290962
<h3 id="_3">方法一:暴力枚举</h3>
90963-
<p>我们先将所有边存入邻接矩阵 <span class="arithmatex">\(g\)</span> 中,再将每个节点的度数存入数组 <span class="arithmatex">\(deg\)</span> 中。初始化答案 <span class="arithmatex">\(ans=+\infty\)</span>。</p>
90964-
<p>然后枚举所有的三元组 <span class="arithmatex">\((i, j, k)\)</span>,其中 <span class="arithmatex">\(i \lt j \lt k\)</span>,如果 <span class="arithmatex">\(g[i][j] = g[j][k] = g[i][k] = 1\)</span>,则说明这三个节点构成了一个连通三元组,此时更新答案为 <span class="arithmatex">\(ans = \min(ans, deg[i] + deg[j] + deg[k] - 6)\)</span>。</p>
90963+
<p>我们先将所有边存入邻接矩阵 <span class="arithmatex">\(\textit{g}\)</span> 中,再将每个节点的度数存入数组 <span class="arithmatex">\(\textit{deg}\)</span> 中。初始化答案 <span class="arithmatex">\(\textit{ans}=+\infty\)</span>。</p>
90964+
<p>然后枚举所有的三元组 <span class="arithmatex">\((i, j, k)\)</span>,其中 <span class="arithmatex">\(i \lt j \lt k\)</span>,如果 <span class="arithmatex">\(\textit{g}[i][j] = \textit{g}[j][k] = \textit{g}[i][k] = 1\)</span>,则说明这三个节点构成了一个连通三元组,此时更新答案为 <span class="arithmatex">\(\textit{ans} = \min(\textit{ans}, \textit{deg}[i] + \textit{deg}[j] + \textit{deg}[k] - 6)\)</span>。</p>
9096590965
<p>枚举完所有的三元组后,如果答案仍然为 <span class="arithmatex">\(+\infty\)</span>,说明图中不存在连通三元组,返回 <span class="arithmatex">\(-1\)</span>,否则返回答案。</p>
9096690966
<p>时间复杂度 <span class="arithmatex">\(O(n^3)\)</span>,空间复杂度 <span class="arithmatex">\(O(n^2)\)</span>。其中 <span class="arithmatex">\(n\)</span> 为节点数。</p>
9096790967
<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>
@@ -90983,7 +90983,15 @@ <h3 id="_3">方法一:暴力枚举</h3>
9098390983
<span class="normal">14</span>
9098490984
<span class="normal">15</span>
9098590985
<span class="normal">16</span>
90986-
<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
90986+
<span class="normal">17</span>
90987+
<span class="normal">18</span>
90988+
<span class="normal">19</span>
90989+
<span class="normal">20</span>
90990+
<span class="normal">21</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">min</span><span class="p">(</span><span class="n">a</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
90991+
<span class="k">return</span> <span class="n">a</span> <span class="k">if</span> <span class="n">a</span> <span class="o">&lt;</span> <span class="n">b</span> <span class="k">else</span> <span class="n">b</span>
90992+
90993+
90994+
<span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
9098790995
<span class="k">def</span><span class="w"> </span><span class="nf">minTrioDegree</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">n</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">edges</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
9098890996
<span class="n">g</span> <span class="o">=</span> <span class="p">[[</span><span class="kc">False</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
9098990997
<span class="n">deg</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span>

lc/1762/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90976,8 +90976,8 @@ <h2 id="_2">解法</h2>
9097690976
<!-- solution:start -->
9097790977

9097890978
<h3 id="_3">方法一:逆序遍历求右侧最大值</h3>
90979-
<p>我们逆序遍历数组 <span class="arithmatex">\(height\)</span> 每个元素 <span class="arithmatex">\(v\)</span>,判断 <span class="arithmatex">\(v\)</span> 与右侧最大元素 <span class="arithmatex">\(mx\)</span> 的大小关系,若 <span class="arithmatex">\(mx \lt v\)</span>,说明右侧所有元素都比当前元素小,当前位置能看到海景,加入结果数组 <span class="arithmatex">\(ans\)</span>。然后我们更新 <span class="arithmatex">\(mx\)</span> 为 <span class="arithmatex">\(v\)</span>。</p>
90980-
<p>遍历结束后,逆序返回 <span class="arithmatex">\(ans\)</span> 即可。</p>
90979+
<p>我们逆序遍历数组 <span class="arithmatex">\(\textit{height}\)</span> 每个元素 <span class="arithmatex">\(v\)</span>,判断 <span class="arithmatex">\(v\)</span> 与右侧最大元素 <span class="arithmatex">\(mx\)</span> 的大小关系,若 <span class="arithmatex">\(mx \lt v\)</span>,说明右侧所有元素都比当前元素小,当前位置能看到海景,加入结果数组 <span class="arithmatex">\(\textit{ans}\)</span>。然后我们更新 <span class="arithmatex">\(mx\)</span> 为 <span class="arithmatex">\(v\)</span>。</p>
90980+
<p>遍历结束后,逆序返回 <span class="arithmatex">\(\textit{ans}\)</span> 即可。</p>
9098190981
<p>时间复杂度 <span class="arithmatex">\(O(n)\)</span>,其中 <span class="arithmatex">\(n\)</span> 为数组长度。忽略答案数组的空间消耗,空间复杂度 <span class="arithmatex">\(O(1)\)</span>。</p>
9098290982
<div class="tabbed-set tabbed-alternate" data-tabs="1:6"><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" /><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">JavaScript</label></div>
9098390983
<div class="tabbed-content">

search/search_index.json

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

0 commit comments

Comments
 (0)