Skip to content

Commit 068e9bb

Browse files
committed
deploy: 67e5a65
1 parent 5091857 commit 068e9bb

File tree

11 files changed

+516
-97
lines changed

11 files changed

+516
-97
lines changed

en/lcci/1.5/index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83731,9 +83731,9 @@
8373183731
<ul class="md-nav__list">
8373283732

8373383733
<li class="md-nav__item">
83734-
<a href="#solution-1-case-discussion-two-pointers" class="md-nav__link">
83734+
<a href="#solution-1-case-analysis-two-pointers" class="md-nav__link">
8373583735
<span class="md-ellipsis">
83736-
Solution 1: Case Discussion + Two Pointers
83736+
Solution 1: Case Analysis + Two Pointers
8373783737
</span>
8373883738
</a>
8373983739

@@ -86165,13 +86165,13 @@ <h2 id="description">Description</h2>
8616586165
<h2 id="solutions">Solutions</h2>
8616686166
<!-- solution:start -->
8616786167

86168-
<h3 id="solution-1-case-discussion-two-pointers">Solution 1: Case Discussion + Two Pointers</h3>
86169-
<p>We denote the lengths of strings <span class="arithmatex">\(first\)</span> and <span class="arithmatex">\(second\)</span> as <span class="arithmatex">\(m\)</span> and <span class="arithmatex">\(n\)</span>, respectively, where <span class="arithmatex">\(m \geq n\)</span>.</p>
86170-
<p>Next, we discuss different cases:</p>
86168+
<h3 id="solution-1-case-analysis-two-pointers">Solution 1: Case Analysis + Two Pointers</h3>
86169+
<p>Let the lengths of the strings <span class="arithmatex">\(\textit{first}\)</span> and <span class="arithmatex">\(\textit{second}\)</span> be <span class="arithmatex">\(m\)</span> and <span class="arithmatex">\(n\)</span>, respectively. Assume <span class="arithmatex">\(m \geq n\)</span>.</p>
86170+
<p>Next, we discuss the following cases:</p>
8617186171
<ul>
86172-
<li>When <span class="arithmatex">\(m - n &gt; 1\)</span>, <span class="arithmatex">\(first\)</span> and <span class="arithmatex">\(second\)</span> cannot be obtained through a single edit, so we return <code>false</code>.</li>
86173-
<li>When <span class="arithmatex">\(m = n\)</span>, <span class="arithmatex">\(first\)</span> and <span class="arithmatex">\(second\)</span> can only be obtained through a single edit if and only if exactly one character is different.</li>
86174-
<li>When <span class="arithmatex">\(m - n = 1\)</span>, <span class="arithmatex">\(first\)</span> and <span class="arithmatex">\(second\)</span> can only be obtained through a single edit if and only if <span class="arithmatex">\(second\)</span> is obtained by deleting one character from <span class="arithmatex">\(first\)</span>. We can use two pointers to implement this.</li>
86172+
<li>When <span class="arithmatex">\(m - n \gt 1\)</span>, <span class="arithmatex">\(\textit{first}\)</span> and <span class="arithmatex">\(\textit{second}\)</span> cannot be made equal with one edit, so return <code>false</code>;</li>
86173+
<li>When <span class="arithmatex">\(m = n\)</span>, <span class="arithmatex">\(\textit{first}\)</span> and <span class="arithmatex">\(\textit{second}\)</span> can be made equal with one edit only if there is exactly one different character;</li>
86174+
<li>When <span class="arithmatex">\(m - n = 1\)</span>, <span class="arithmatex">\(\textit{first}\)</span> and <span class="arithmatex">\(\textit{second}\)</span> can be made equal with one edit only if <span class="arithmatex">\(\textit{second}\)</span> is obtained by deleting one character from <span class="arithmatex">\(\textit{first}\)</span>. We can use two pointers to achieve this.</li>
8617586175
</ul>
8617686176
<p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the string. The space complexity is <span class="arithmatex">\(O(1)\)</span>.</p>
8617786177
<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">Swift</label></div>

en/lcci/1.6/index.html

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86170,7 +86170,7 @@ <h3 id="solution-1-two-pointers">Solution 1: Two Pointers</h3>
8617086170
<p>We can use two pointers to find the start and end positions of each consecutive character, calculate the length of the consecutive characters, and then append the character and length to the string <span class="arithmatex">\(t\)</span>.</p>
8617186171
<p>Finally, we compare the lengths of <span class="arithmatex">\(t\)</span> and <span class="arithmatex">\(S\)</span>. If the length of <span class="arithmatex">\(t\)</span> is less than <span class="arithmatex">\(S\)</span>, we return <span class="arithmatex">\(t\)</span>, otherwise we return <span class="arithmatex">\(S\)</span>.</p>
8617286172
<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 string.</p>
86173-
<div class="tabbed-set tabbed-alternate" data-tabs="1:8"><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" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Python3</label><label for="__tabbed_1_3">Java</label><label for="__tabbed_1_4">C++</label><label for="__tabbed_1_5">Go</label><label for="__tabbed_1_6">Rust</label><label for="__tabbed_1_7">JavaScript</label><label for="__tabbed_1_8">Swift</label></div>
86173+
<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">Rust</label><label for="__tabbed_1_6">JavaScript</label><label for="__tabbed_1_7">Swift</label></div>
8617486174
<div class="tabbed-content">
8617586175
<div class="tabbed-block">
8617686176
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -86193,30 +86193,6 @@ <h3 id="solution-1-two-pointers">Solution 1: Two Pointers</h3>
8619386193
<span class="normal"> 8</span>
8619486194
<span class="normal"> 9</span>
8619586195
<span class="normal">10</span>
86196-
<span class="normal">11</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>
86197-
<span class="k">def</span><span class="w"> </span><span class="nf">compressString</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">S</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
86198-
<span class="n">t</span> <span class="o">=</span> <span class="p">[]</span>
86199-
<span class="n">i</span><span class="p">,</span> <span class="n">n</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">S</span><span class="p">)</span>
86200-
<span class="k">while</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">n</span><span class="p">:</span>
86201-
<span class="n">j</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span>
86202-
<span class="k">while</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">n</span> <span class="ow">and</span> <span class="n">S</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">==</span> <span class="n">S</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
86203-
<span class="n">j</span> <span class="o">+=</span> <span class="mi">1</span>
86204-
<span class="n">t</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">S</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">i</span><span class="p">))</span>
86205-
<span class="n">i</span> <span class="o">=</span> <span class="n">j</span>
86206-
<span class="k">return</span> <span class="nb">min</span><span class="p">(</span><span class="n">S</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">t</span><span class="p">),</span> <span class="n">key</span><span class="o">=</span><span class="nb">len</span><span class="p">)</span>
86207-
</code></pre></div></td></tr></table></div>
86208-
</div>
86209-
<div class="tabbed-block">
86210-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86211-
<span class="normal"> 2</span>
86212-
<span class="normal"> 3</span>
86213-
<span class="normal"> 4</span>
86214-
<span class="normal"> 5</span>
86215-
<span class="normal"> 6</span>
86216-
<span class="normal"> 7</span>
86217-
<span class="normal"> 8</span>
86218-
<span class="normal"> 9</span>
86219-
<span class="normal">10</span>
8622086196
<span class="normal">11</span>
8622186197
<span class="normal">12</span>
8622286198
<span class="normal">13</span>

en/lcci/1.7/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83777,7 +83777,7 @@
8377783777
<li class="md-nav__item">
8377883778
<a href="#solution-1-in-place-rotation" class="md-nav__link">
8377983779
<span class="md-ellipsis">
83780-
Solution 1: In-place Rotation
83780+
Solution 1: In-Place Rotation
8378183781
</span>
8378283782
</a>
8378383783

@@ -86207,9 +86207,9 @@ <h2 id="description">Description</h2>
8620786207
<h2 id="solutions">Solutions</h2>
8620886208
<!-- solution:start -->
8620986209

86210-
<h3 id="solution-1-in-place-rotation">Solution 1: In-place Rotation</h3>
86211-
<p>According to the problem requirements, we actually need to rotate <span class="arithmatex">\(matrix[i][j]\)</span> to <span class="arithmatex">\(matrix[j][n - i - 1]\)</span>.</p>
86212-
<p>We can first flip the matrix upside down, that is, swap <span class="arithmatex">\(matrix[i][j]\)</span> and <span class="arithmatex">\(matrix[n - i - 1][j]\)</span>, and then flip the matrix along the main diagonal, that is, swap <span class="arithmatex">\(matrix[i][j]\)</span> and <span class="arithmatex">\(matrix[j][i]\)</span>. This way, we can rotate <span class="arithmatex">\(matrix[i][j]\)</span> to <span class="arithmatex">\(matrix[j][n - i - 1]\)</span>.</p>
86210+
<h3 id="solution-1-in-place-rotation">Solution 1: In-Place Rotation</h3>
86211+
<p>According to the problem requirements, we need to rotate <span class="arithmatex">\(\text{matrix}[i][j]\)</span> to <span class="arithmatex">\(\text{matrix}[j][n - i - 1]\)</span>.</p>
86212+
<p>We can first flip the matrix upside down, i.e., swap <span class="arithmatex">\(\text{matrix}[i][j]\)</span> with <span class="arithmatex">\(\text{matrix}[n - i - 1][j]\)</span>, and then flip the matrix along the main diagonal, i.e., swap <span class="arithmatex">\(\text{matrix}[i][j]\)</span> with <span class="arithmatex">\(\text{matrix}[j][i]\)</span>. This will rotate <span class="arithmatex">\(\text{matrix}[i][j]\)</span> to <span class="arithmatex">\(\text{matrix}[j][n - i - 1]\)</span>.</p>
8621386213
<p>The time complexity is <span class="arithmatex">\(O(n^2)\)</span>, where <span class="arithmatex">\(n\)</span> is the side length of the matrix. The space complexity is <span class="arithmatex">\(O(1)\)</span>.</p>
8621486214
<div class="tabbed-set tabbed-alternate" data-tabs="1:9"><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" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" 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">JavaScript</label><label for="__tabbed_1_8">C#</label><label for="__tabbed_1_9">Swift</label></div>
8621586215
<div class="tabbed-content">

0 commit comments

Comments
 (0)