|
73007 | 73007 | <ul class="md-nav__list">
|
73008 | 73008 |
|
73009 | 73009 | <li class="md-nav__item">
|
73010 |
| - <a href="#solution-1" class="md-nav__link"> |
| 73010 | + <a href="#solution-1-single-pass" class="md-nav__link"> |
73011 | 73011 | <span class="md-ellipsis">
|
73012 |
| - Solution 1 |
| 73012 | + Solution 1: Single Pass |
73013 | 73013 | </span>
|
73014 | 73014 | </a>
|
73015 | 73015 |
|
@@ -75788,23 +75788,99 @@ <h2 id="description">Description</h2>
|
75788 | 75788 | <h2 id="solutions">Solutions</h2>
|
75789 | 75789 | <!-- solution:start -->
|
75790 | 75790 |
|
75791 |
| -<h3 id="solution-1">Solution 1</h3> |
75792 |
| -<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> |
| 75791 | +<h3 id="solution-1-single-pass">Solution 1: Single Pass</h3> |
| 75792 | +<p>We traverse the array from left to right. For each pair of adjacent elements, if their parity is the same, then the array is not a special array, return <code>false</code>; otherwise, the array is a special array, return <code>true</code>.</p> |
| 75793 | +<p>The time complexity is $O(n)$, where $n$ is the length of the array. The space complexity is $O(1)`.</p> |
| 75794 | +<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> |
75793 | 75795 | <div class="tabbed-content">
|
75794 | 75796 | <div class="tabbed-block">
|
75795 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 75797 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> |
| 75798 | +<span class="normal">2</span> |
| 75799 | +<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">Solution</span><span class="p">:</span> |
| 75800 | + <span class="k">def</span> <span class="nf">isArraySpecial</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nums</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">-></span> <span class="nb">bool</span><span class="p">:</span> |
| 75801 | + <span class="k">return</span> <span class="nb">all</span><span class="p">(</span><span class="n">a</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="n">b</span> <span class="o">%</span> <span class="mi">2</span> <span class="k">for</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">pairwise</span><span class="p">(</span><span class="n">nums</span><span class="p">))</span> |
75796 | 75802 | </code></pre></div></td></tr></table></div>
|
75797 | 75803 | </div>
|
75798 | 75804 | <div class="tabbed-block">
|
75799 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 75805 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 75806 | +<span class="normal"> 2</span> |
| 75807 | +<span class="normal"> 3</span> |
| 75808 | +<span class="normal"> 4</span> |
| 75809 | +<span class="normal"> 5</span> |
| 75810 | +<span class="normal"> 6</span> |
| 75811 | +<span class="normal"> 7</span> |
| 75812 | +<span class="normal"> 8</span> |
| 75813 | +<span class="normal"> 9</span> |
| 75814 | +<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span><span class="w"> </span><span class="p">{</span> |
| 75815 | +<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="nf">isArraySpecial</span><span class="p">(</span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75816 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</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">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">nums</span><span class="p">.</span><span class="na">length</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75817 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">nums</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">nums</span><span class="o">[</span><span class="n">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="o">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75818 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> |
| 75819 | +<span class="w"> </span><span class="p">}</span> |
| 75820 | +<span class="w"> </span><span class="p">}</span> |
| 75821 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> |
| 75822 | +<span class="w"> </span><span class="p">}</span> |
| 75823 | +<span class="p">}</span> |
75800 | 75824 | </code></pre></div></td></tr></table></div>
|
75801 | 75825 | </div>
|
75802 | 75826 | <div class="tabbed-block">
|
75803 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 75827 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span> |
| 75828 | +<span class="normal"> 2</span> |
| 75829 | +<span class="normal"> 3</span> |
| 75830 | +<span class="normal"> 4</span> |
| 75831 | +<span class="normal"> 5</span> |
| 75832 | +<span class="normal"> 6</span> |
| 75833 | +<span class="normal"> 7</span> |
| 75834 | +<span class="normal"> 8</span> |
| 75835 | +<span class="normal"> 9</span> |
| 75836 | +<span class="normal">10</span> |
| 75837 | +<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="w"> </span><span class="p">{</span> |
| 75838 | +<span class="k">public</span><span class="o">:</span> |
| 75839 | +<span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">isArraySpecial</span><span class="p">(</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>&</span><span class="w"> </span><span class="n">nums</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75840 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</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">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">nums</span><span class="p">.</span><span class="n">size</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75841 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">nums</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">nums</span><span class="p">[</span><span class="n">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75842 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">false</span><span class="p">;</span> |
| 75843 | +<span class="w"> </span><span class="p">}</span> |
| 75844 | +<span class="w"> </span><span class="p">}</span> |
| 75845 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">true</span><span class="p">;</span> |
| 75846 | +<span class="w"> </span><span class="p">}</span> |
| 75847 | +<span class="p">};</span> |
75804 | 75848 | </code></pre></div></td></tr></table></div>
|
75805 | 75849 | </div>
|
75806 | 75850 | <div class="tabbed-block">
|
75807 |
| -<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code> |
| 75851 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> |
| 75852 | +<span class="normal">2</span> |
| 75853 | +<span class="normal">3</span> |
| 75854 | +<span class="normal">4</span> |
| 75855 | +<span class="normal">5</span> |
| 75856 | +<span class="normal">6</span> |
| 75857 | +<span class="normal">7</span> |
| 75858 | +<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">func</span><span class="w"> </span><span class="nx">isArraySpecial</span><span class="p">(</span><span class="nx">nums</span><span class="w"> </span><span class="p">[]</span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="p">{</span> |
| 75859 | +<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span><span class="w"> </span><span class="p">{</span> |
| 75860 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">x</span><span class="o">%</span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="o">%</span><span class="mi">2</span><span class="w"> </span><span class="p">{</span> |
| 75861 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span> |
| 75862 | +<span class="w"> </span><span class="p">}</span> |
| 75863 | +<span class="w"> </span><span class="p">}</span> |
| 75864 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span> |
| 75865 | +<span class="p">}</span> |
| 75866 | +</code></pre></div></td></tr></table></div> |
| 75867 | +</div> |
| 75868 | +<div class="tabbed-block"> |
| 75869 | +<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span> |
| 75870 | +<span class="normal">2</span> |
| 75871 | +<span class="normal">3</span> |
| 75872 | +<span class="normal">4</span> |
| 75873 | +<span class="normal">5</span> |
| 75874 | +<span class="normal">6</span> |
| 75875 | +<span class="normal">7</span> |
| 75876 | +<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">isArraySpecial</span><span class="p">(</span><span class="nx">nums</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[])</span><span class="o">:</span><span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="p">{</span> |
| 75877 | +<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">1</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">nums</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="nx">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75878 | +<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">nums</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mf">2</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">nums</span><span class="p">[</span><span class="nx">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mf">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| 75879 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">false</span><span class="p">;</span> |
| 75880 | +<span class="w"> </span><span class="p">}</span> |
| 75881 | +<span class="w"> </span><span class="p">}</span> |
| 75882 | +<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span> |
| 75883 | +<span class="p">}</span> |
75808 | 75884 | </code></pre></div></td></tr></table></div>
|
75809 | 75885 | </div>
|
75810 | 75886 | </div>
|
|
0 commit comments