Skip to content

Commit 960687f

Browse files
committed
deploy: fe5cddc
1 parent d1c5cd9 commit 960687f

File tree

6 files changed

+192
-129
lines changed

6 files changed

+192
-129
lines changed

en/lc/2054/index.html

Lines changed: 72 additions & 11 deletions
Large diffs are not rendered by default.

en/lc/2062/index.html

Lines changed: 27 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -52813,18 +52813,9 @@
5281352813
<ul class="md-nav__list">
5281452814

5281552815
<li class="md-nav__item">
52816-
<a href="#solution-1" class="md-nav__link">
52816+
<a href="#solution-1-brute-force-enumeration-hash-table" class="md-nav__link">
5281752817
<span class="md-ellipsis">
52818-
Solution 1
52819-
</span>
52820-
</a>
52821-
52822-
</li>
52823-
52824-
<li class="md-nav__item">
52825-
<a href="#solution-2" class="md-nav__link">
52826-
<span class="md-ellipsis">
52827-
Solution 2
52818+
Solution 1: Brute Force Enumeration + Hash Table
5282852819
</span>
5282952820
</a>
5283052821

@@ -86424,19 +86415,35 @@ <h2 id="description">Description</h2>
8642486415
<h2 id="solutions">Solutions</h2>
8642586416
<!-- solution:start -->
8642686417

86427-
<h3 id="solution-1">Solution 1</h3>
86418+
<h3 id="solution-1-brute-force-enumeration-hash-table">Solution 1: Brute Force Enumeration + Hash Table</h3>
86419+
<p>We can enumerate the left endpoint <span class="arithmatex">\(i\)</span> of the substring. For the current left endpoint, maintain a hash table to record the vowels that appear in the current substring. Then enumerate the right endpoint <span class="arithmatex">\(j\)</span>. If the character at the current right endpoint is not a vowel, break the loop. Otherwise, add the character at the current right endpoint to the hash table. If the number of elements in the hash table is <span class="arithmatex">\(5\)</span>, it means the current substring is a vowel substring, and increment the result by <span class="arithmatex">\(1\)</span>.</p>
86420+
<p>The time complexity is <span class="arithmatex">\(O(n^2)\)</span>, and the space complexity is <span class="arithmatex">\(O(C)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the length of the string <span class="arithmatex">\(word\)</span>, and <span class="arithmatex">\(C\)</span> is the size of the character set, which is <span class="arithmatex">\(5\)</span> in this problem.</p>
8642886421
<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>
8642986422
<div class="tabbed-content">
8643086423
<div class="tabbed-block">
86431-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
86432-
<span class="normal">2</span>
86433-
<span class="normal">3</span>
86434-
<span class="normal">4</span>
86435-
<span class="normal">5</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>
86424+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86425+
<span class="normal"> 2</span>
86426+
<span class="normal"> 3</span>
86427+
<span class="normal"> 4</span>
86428+
<span class="normal"> 5</span>
86429+
<span class="normal"> 6</span>
86430+
<span class="normal"> 7</span>
86431+
<span class="normal"> 8</span>
86432+
<span class="normal"> 9</span>
86433+
<span class="normal">10</span>
86434+
<span class="normal">11</span>
86435+
<span class="normal">12</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>
8643686436
<span class="k">def</span><span class="w"> </span><span class="nf">countVowelSubstrings</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">word</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
86437-
<span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">word</span><span class="p">)</span>
86438-
<span class="n">s</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="s1">&#39;aeiou&#39;</span><span class="p">)</span>
86439-
<span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">word</span><span class="p">[</span><span class="n">i</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="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">))</span>
86437+
<span class="n">s</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="s2">&quot;aeiou&quot;</span><span class="p">)</span>
86438+
<span class="n">ans</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">word</span><span class="p">)</span>
86439+
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
86440+
<span class="n">t</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
86441+
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">word</span><span class="p">[</span><span class="n">i</span><span class="p">:]:</span>
86442+
<span class="k">if</span> <span class="n">c</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">s</span><span class="p">:</span>
86443+
<span class="k">break</span>
86444+
<span class="n">t</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
86445+
<span class="n">ans</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o">==</span> <span class="mi">5</span>
86446+
<span class="k">return</span> <span class="n">ans</span>
8644086447
</code></pre></div></td></tr></table></div>
8644186448
</div>
8644286449
<div class="tabbed-block">
@@ -86611,41 +86618,6 @@ <h3 id="solution-1">Solution 1</h3>
8661186618
</div>
8661286619
<!-- solution:end -->
8661386620

86614-
<!-- solution:start -->
86615-
86616-
<h3 id="solution-2">Solution 2</h3>
86617-
<div class="tabbed-set tabbed-alternate" data-tabs="2:1"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Python3</label></div>
86618-
<div class="tabbed-content">
86619-
<div class="tabbed-block">
86620-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86621-
<span class="normal"> 2</span>
86622-
<span class="normal"> 3</span>
86623-
<span class="normal"> 4</span>
86624-
<span class="normal"> 5</span>
86625-
<span class="normal"> 6</span>
86626-
<span class="normal"> 7</span>
86627-
<span class="normal"> 8</span>
86628-
<span class="normal"> 9</span>
86629-
<span class="normal">10</span>
86630-
<span class="normal">11</span>
86631-
<span class="normal">12</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>
86632-
<span class="k">def</span><span class="w"> </span><span class="nf">countVowelSubstrings</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">word</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
86633-
<span class="n">s</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="s1">&#39;aeiou&#39;</span><span class="p">)</span>
86634-
<span class="n">ans</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">word</span><span class="p">)</span>
86635-
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
86636-
<span class="n">t</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
86637-
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">word</span><span class="p">[</span><span class="n">i</span><span class="p">:]:</span>
86638-
<span class="k">if</span> <span class="n">c</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">s</span><span class="p">:</span>
86639-
<span class="k">break</span>
86640-
<span class="n">t</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
86641-
<span class="n">ans</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o">==</span> <span class="mi">5</span>
86642-
<span class="k">return</span> <span class="n">ans</span>
86643-
</code></pre></div></td></tr></table></div>
86644-
</div>
86645-
</div>
86646-
</div>
86647-
<!-- solution:end -->
86648-
8664986621
<!-- problem:end -->
8665086622

8665186623

en/search/search_index.json

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

0 commit comments

Comments
 (0)