|
24664 | 24664 | <ul class="md-nav__list">
|
24665 | 24665 |
|
24666 | 24666 | <li class="md-nav__item">
|
24667 |
| - <a href="#solution-1" class="md-nav__link"> |
| 24667 | + <a href="#solution-1-two-pointers" class="md-nav__link"> |
24668 | 24668 | <span class="md-ellipsis">
|
24669 |
| - Solution 1 |
| 24669 | + Solution 1: Two Pointers |
24670 | 24670 | </span>
|
24671 | 24671 | </a>
|
24672 | 24672 |
|
@@ -80370,8 +80370,10 @@ <h2 id="description">Description</h2>
|
80370 | 80370 | <h2 id="solutions">Solutions</h2>
|
80371 | 80371 | <!-- solution:start -->
|
80372 | 80372 |
|
80373 |
| -<h3 id="solution-1">Solution 1</h3> |
80374 |
| -<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> |
| 80373 | +<h3 id="solution-1-two-pointers">Solution 1: Two Pointers</h3> |
| 80374 | +<p>We use two pointers $i$ and $j$ to find the start and end positions of each group, then check if the group length is greater than or equal to $3$. If so, we add it to the result array.</p> |
| 80375 | +<p>The time complexity is $O(n)$, where $n$ is the length of the string $s$.</p> |
| 80376 | +<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> |
80375 | 80377 | <div class="tabbed-content">
|
80376 | 80378 | <div class="tabbed-block">
|
80377 | 80379 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
|
@@ -80428,7 +80430,7 @@ <h3 id="solution-1">Solution 1</h3>
|
80428 | 80430 | <span class="w"> </span><span class="o">++</span><span class="n">j</span><span class="p">;</span>
|
80429 | 80431 | <span class="w"> </span><span class="p">}</span>
|
80430 | 80432 | <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">j</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
80431 |
| -<span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="n">Arrays</span><span class="p">.</span><span class="na">asList</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">));</span> |
| 80433 | +<span class="w"> </span><span class="n">ans</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="n">List</span><span class="p">.</span><span class="na">of</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">));</span> |
80432 | 80434 | <span class="w"> </span><span class="p">}</span>
|
80433 | 80435 | <span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">j</span><span class="p">;</span>
|
80434 | 80436 | <span class="w"> </span><span class="p">}</span>
|
@@ -80509,6 +80511,42 @@ <h3 id="solution-1">Solution 1</h3>
|
80509 | 80511 | <span class="p">}</span>
|
80510 | 80512 | </code></pre></div></td></tr></table></div>
|
80511 | 80513 | </div>
|
| 80514 | +<div class="tabbed-block"> |
| 80515 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 80516 | +<span class="normal"> 2</span> |
| 80517 | +<span class="normal"> 3</span> |
| 80518 | +<span class="normal"> 4</span> |
| 80519 | +<span class="normal"> 5</span> |
| 80520 | +<span class="normal"> 6</span> |
| 80521 | +<span class="normal"> 7</span> |
| 80522 | +<span class="normal"> 8</span> |
| 80523 | +<span class="normal"> 9</span> |
| 80524 | +<span class="normal">10</span> |
| 80525 | +<span class="normal">11</span> |
| 80526 | +<span class="normal">12</span> |
| 80527 | +<span class="normal">13</span> |
| 80528 | +<span class="normal">14</span> |
| 80529 | +<span class="normal">15</span> |
| 80530 | +<span class="normal">16</span> |
| 80531 | +<span class="normal">17</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">largeGroupPositions</span><span class="p">(</span><span class="nx">s</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][]</span><span class="w"> </span><span class="p">{</span> |
| 80532 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">s</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> |
| 80533 | +<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">ans</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span> |
| 80534 | + |
| 80535 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">let</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">n</span><span class="p">;</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80536 | +<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">i</span><span class="p">;</span> |
| 80537 | +<span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="nx">j</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">n</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">s</span><span class="p">[</span><span class="nx">j</span><span class="p">]</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">s</span><span class="p">[</span><span class="nx">i</span><span class="p">])</span><span class="w"> </span><span class="p">{</span> |
| 80538 | +<span class="w"> </span><span class="o">++</span><span class="nx">j</span><span class="p">;</span> |
| 80539 | +<span class="w"> </span><span class="p">}</span> |
| 80540 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">j</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mf">3</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 80541 | +<span class="w"> </span><span class="nx">ans</span><span class="p">.</span><span class="nx">push</span><span class="p">([</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]);</span> |
| 80542 | +<span class="w"> </span><span class="p">}</span> |
| 80543 | +<span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">j</span><span class="p">;</span> |
| 80544 | +<span class="w"> </span><span class="p">}</span> |
| 80545 | + |
| 80546 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">ans</span><span class="p">;</span> |
| 80547 | +<span class="p">}</span> |
| 80548 | +</code></pre></div></td></tr></table></div> |
| 80549 | +</div> |
80512 | 80550 | </div>
|
80513 | 80551 | </div>
|
80514 | 80552 | <!-- solution:end -->
|
|
0 commit comments