Skip to content

Commit eed0b7e

Browse files
committed
deploy: 805d2fc
1 parent 2790f8d commit eed0b7e

File tree

8 files changed

+1247
-289
lines changed

8 files changed

+1247
-289
lines changed

en/lc/215/index.html

Lines changed: 506 additions & 142 deletions
Large diffs are not rendered by default.

en/search/search_index.json

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

lc/215/index.html

Lines changed: 505 additions & 141 deletions
Large diffs are not rendered by default.

lcof2/65/index.html

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81544,7 +81544,7 @@ <h2 id="_2">解法</h2>
8154481544
<h3 id="_3">方法一:前缀树</h3>
8154581545
<p>题目大意:充分利用重叠的后缀,使有效编码尽可能短。</p>
8154681546
<p>判断当前单词是否是其他单词的后缀,若是,就不用写入助记字符串中,否则需要写入并且加上一个 # 后缀。</p>
81547-
<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>
81547+
<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">Swift</label></div>
8154881548
<div class="tabbed-content">
8154981549
<div class="tabbed-block">
8155081550
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -81810,6 +81810,88 @@ <h3 id="_3">方法一:前缀树</h3>
8181081810
<span class="p">}</span>
8181181811
</code></pre></div></td></tr></table></div>
8181281812
</div>
81813+
<div class="tabbed-block">
81814+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
81815+
<span class="normal"> 2</span>
81816+
<span class="normal"> 3</span>
81817+
<span class="normal"> 4</span>
81818+
<span class="normal"> 5</span>
81819+
<span class="normal"> 6</span>
81820+
<span class="normal"> 7</span>
81821+
<span class="normal"> 8</span>
81822+
<span class="normal"> 9</span>
81823+
<span class="normal">10</span>
81824+
<span class="normal">11</span>
81825+
<span class="normal">12</span>
81826+
<span class="normal">13</span>
81827+
<span class="normal">14</span>
81828+
<span class="normal">15</span>
81829+
<span class="normal">16</span>
81830+
<span class="normal">17</span>
81831+
<span class="normal">18</span>
81832+
<span class="normal">19</span>
81833+
<span class="normal">20</span>
81834+
<span class="normal">21</span>
81835+
<span class="normal">22</span>
81836+
<span class="normal">23</span>
81837+
<span class="normal">24</span>
81838+
<span class="normal">25</span>
81839+
<span class="normal">26</span>
81840+
<span class="normal">27</span>
81841+
<span class="normal">28</span>
81842+
<span class="normal">29</span>
81843+
<span class="normal">30</span>
81844+
<span class="normal">31</span>
81845+
<span class="normal">32</span>
81846+
<span class="normal">33</span>
81847+
<span class="normal">34</span>
81848+
<span class="normal">35</span>
81849+
<span class="normal">36</span>
81850+
<span class="normal">37</span>
81851+
<span class="normal">38</span>
81852+
<span class="normal">39</span>
81853+
<span class="normal">40</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Trie</span> <span class="p">{</span>
81854+
<span class="kd">var</span> <span class="nv">children</span> <span class="p">=</span> <span class="p">[</span><span class="n">Trie</span><span class="p">?](</span><span class="n">repeating</span><span class="p">:</span> <span class="kc">nil</span><span class="p">,</span> <span class="bp">count</span><span class="p">:</span> <span class="mi">26</span><span class="p">)</span>
81855+
<span class="p">}</span>
81856+
81857+
<span class="kd">class</span> <span class="nc">Solution</span> <span class="p">{</span>
81858+
<span class="kd">func</span> <span class="nf">minimumLengthEncoding</span><span class="p">(</span><span class="kc">_</span> <span class="n">words</span><span class="p">:</span> <span class="p">[</span><span class="nb">String</span><span class="p">])</span> <span class="p">-&gt;</span> <span class="nb">Int</span> <span class="p">{</span>
81859+
<span class="kd">let</span> <span class="nv">root</span> <span class="p">=</span> <span class="n">Trie</span><span class="p">()</span>
81860+
81861+
<span class="k">for</span> <span class="n">word</span> <span class="k">in</span> <span class="n">words</span> <span class="p">{</span>
81862+
<span class="kd">var</span> <span class="nv">current</span> <span class="p">=</span> <span class="n">root</span>
81863+
<span class="k">for</span> <span class="n">char</span> <span class="k">in</span> <span class="n">word</span><span class="p">.</span><span class="n">reversed</span><span class="p">()</span> <span class="p">{</span>
81864+
<span class="kd">let</span> <span class="nv">index</span> <span class="p">=</span> <span class="nb">Int</span><span class="p">(</span><span class="n">char</span><span class="p">.</span><span class="n">asciiValue</span><span class="p">!</span> <span class="o">-</span> <span class="nb">Character</span><span class="p">(</span><span class="s">&quot;a&quot;</span><span class="p">).</span><span class="n">asciiValue</span><span class="p">!)</span>
81865+
<span class="k">if</span> <span class="n">current</span><span class="p">.</span><span class="n">children</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="p">==</span> <span class="kc">nil</span> <span class="p">{</span>
81866+
<span class="n">current</span><span class="p">.</span><span class="n">children</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="p">=</span> <span class="n">Trie</span><span class="p">()</span>
81867+
<span class="p">}</span>
81868+
<span class="n">current</span> <span class="p">=</span> <span class="n">current</span><span class="p">.</span><span class="n">children</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="o">!</span>
81869+
<span class="p">}</span>
81870+
<span class="p">}</span>
81871+
81872+
<span class="k">return</span> <span class="n">dfs</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
81873+
<span class="p">}</span>
81874+
81875+
<span class="kd">private</span> <span class="kd">func</span> <span class="nf">dfs</span><span class="p">(</span><span class="kc">_</span> <span class="n">current</span><span class="p">:</span> <span class="n">Trie</span><span class="p">,</span> <span class="kc">_</span> <span class="n">length</span><span class="p">:</span> <span class="nb">Int</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="nb">Int</span> <span class="p">{</span>
81876+
<span class="kd">var</span> <span class="nv">isLeaf</span> <span class="p">=</span> <span class="kc">true</span>
81877+
<span class="kd">var</span> <span class="nv">result</span> <span class="p">=</span> <span class="mi">0</span>
81878+
81879+
<span class="k">for</span> <span class="n">child</span> <span class="k">in</span> <span class="n">current</span><span class="p">.</span><span class="n">children</span> <span class="p">{</span>
81880+
<span class="k">if</span> <span class="kd">let</span> <span class="nv">child</span> <span class="p">=</span> <span class="n">child</span> <span class="p">{</span>
81881+
<span class="n">isLeaf</span> <span class="p">=</span> <span class="kc">false</span>
81882+
<span class="n">result</span> <span class="o">+=</span> <span class="n">dfs</span><span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="n">length</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
81883+
<span class="p">}</span>
81884+
<span class="p">}</span>
81885+
81886+
<span class="k">if</span> <span class="n">isLeaf</span> <span class="p">{</span>
81887+
<span class="n">result</span> <span class="o">+=</span> <span class="n">length</span>
81888+
<span class="p">}</span>
81889+
81890+
<span class="k">return</span> <span class="n">result</span>
81891+
<span class="p">}</span>
81892+
<span class="p">}</span>
81893+
</code></pre></div></td></tr></table></div>
81894+
</div>
8181381895
</div>
8181481896
</div>
8181581897
<!-- solution:end -->
@@ -82096,6 +82178,11 @@ <h3 id="_4">方法二</h3>
8209682178

8209782179
<nav>
8209882180

82181+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
82182+
82183+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
82184+
</a>
82185+
8209982186
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8210082187

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

lcof2/66/index.html

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81530,7 +81530,7 @@ <h2 id="_2">解法</h2>
8153081530
<!-- solution:start -->
8153181531

8153281532
<h3 id="_3">方法一</h3>
81533-
<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>
81533+
<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">Swift</label></div>
8153481534
<div class="tabbed-content">
8153581535
<div class="tabbed-block">
8153681536
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -81766,6 +81766,54 @@ <h3 id="_3">方法一</h3>
8176681766
<span class="cm"> */</span>
8176781767
</code></pre></div></td></tr></table></div>
8176881768
</div>
81769+
<div class="tabbed-block">
81770+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
81771+
<span class="normal"> 2</span>
81772+
<span class="normal"> 3</span>
81773+
<span class="normal"> 4</span>
81774+
<span class="normal"> 5</span>
81775+
<span class="normal"> 6</span>
81776+
<span class="normal"> 7</span>
81777+
<span class="normal"> 8</span>
81778+
<span class="normal"> 9</span>
81779+
<span class="normal">10</span>
81780+
<span class="normal">11</span>
81781+
<span class="normal">12</span>
81782+
<span class="normal">13</span>
81783+
<span class="normal">14</span>
81784+
<span class="normal">15</span>
81785+
<span class="normal">16</span>
81786+
<span class="normal">17</span>
81787+
<span class="normal">18</span>
81788+
<span class="normal">19</span>
81789+
<span class="normal">20</span>
81790+
<span class="normal">21</span>
81791+
<span class="normal">22</span>
81792+
<span class="normal">23</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">MapSum</span> <span class="p">{</span>
81793+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">data</span><span class="p">:</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Int</span><span class="p">]</span>
81794+
<span class="kd">private</span> <span class="kd">var</span> <span class="nv">t</span><span class="p">:</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Int</span><span class="p">]</span>
81795+
81796+
<span class="kd">init</span><span class="p">()</span> <span class="p">{</span>
81797+
<span class="n">data</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Int</span><span class="p">]()</span>
81798+
<span class="n">t</span> <span class="p">=</span> <span class="p">[</span><span class="nb">String</span><span class="p">:</span> <span class="nb">Int</span><span class="p">]()</span>
81799+
<span class="p">}</span>
81800+
81801+
<span class="kd">func</span> <span class="nf">insert</span><span class="p">(</span><span class="kc">_</span> <span class="n">key</span><span class="p">:</span> <span class="nb">String</span><span class="p">,</span> <span class="kc">_</span> <span class="n">val</span><span class="p">:</span> <span class="nb">Int</span><span class="p">)</span> <span class="p">{</span>
81802+
<span class="kd">let</span> <span class="nv">old</span> <span class="p">=</span> <span class="n">t</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="p">??</span> <span class="mi">0</span>
81803+
<span class="n">t</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="p">=</span> <span class="n">val</span>
81804+
<span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="mf">1.</span><span class="p">..</span><span class="n">key</span><span class="p">.</span><span class="bp">count</span> <span class="p">{</span>
81805+
<span class="kd">let</span> <span class="nv">endIndex</span> <span class="p">=</span> <span class="n">key</span><span class="p">.</span><span class="n">index</span><span class="p">(</span><span class="n">key</span><span class="p">.</span><span class="n">startIndex</span><span class="p">,</span> <span class="n">offsetBy</span><span class="p">:</span> <span class="n">i</span><span class="p">)</span>
81806+
<span class="kd">let</span> <span class="nv">k</span> <span class="p">=</span> <span class="nb">String</span><span class="p">(</span><span class="n">key</span><span class="p">[</span><span class="n">key</span><span class="p">.</span><span class="n">startIndex</span><span class="p">..&lt;</span><span class="n">endIndex</span><span class="p">])</span>
81807+
<span class="n">data</span><span class="p">[</span><span class="n">k</span><span class="p">,</span> <span class="k">default</span><span class="p">:</span> <span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span><span class="n">val</span> <span class="o">-</span> <span class="n">old</span><span class="p">)</span>
81808+
<span class="p">}</span>
81809+
<span class="p">}</span>
81810+
81811+
<span class="kd">func</span> <span class="nf">sum</span><span class="p">(</span><span class="kc">_</span> <span class="kr">prefix</span><span class="p">:</span> <span class="nb">String</span><span class="p">)</span> <span class="p">-&gt;</span> <span class="nb">Int</span> <span class="p">{</span>
81812+
<span class="k">return</span> <span class="n">data</span><span class="p">[</span><span class="kr">prefix</span><span class="p">]</span> <span class="p">??</span> <span class="mi">0</span>
81813+
<span class="p">}</span>
81814+
<span class="p">}</span>
81815+
</code></pre></div></td></tr></table></div>
81816+
</div>
8176981817
</div>
8177081818
</div>
8177181819
<!-- solution:end -->
@@ -81799,6 +81847,11 @@ <h3 id="_3">方法一</h3>
8179981847

8180081848
<nav>
8180181849

81850+
<a href="https://github.com/klever34" class="md-author" title="@klever34">
81851+
81852+
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
81853+
</a>
81854+
8180281855
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
8180381856

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

0 commit comments

Comments
 (0)