54209
54209
<ul class="md-nav__list">
54210
54210
54211
54211
<li class="md-nav__item">
54212
- <a href="#solution-1" class="md-nav__link">
54212
+ <a href="#solution-1-brain-teaser " class="md-nav__link">
54213
54213
<span class="md-ellipsis">
54214
- Solution 1
54214
+ Solution 1: Brain Teaser
54215
54215
</span>
54216
54216
</a>
54217
54217
@@ -86785,8 +86785,11 @@ <h2 id="description">Description</h2>
86785
86785
<h2 id="solutions">Solutions</h2>
86786
86786
<!-- solution:start -->
86787
86787
86788
- <h3 id="solution-1">Solution 1</h3>
86789
- <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>
86788
+ <h3 id="solution-1-brain-teaser">Solution 1: Brain Teaser</h3>
86789
+ <p>According to the problem statement, the string <span class="arithmatex">\(s\)</span> consists only of characters <code>a</code> and <code>b</code>.</p>
86790
+ <p>To ensure that all <code>a</code>s appear before all <code>b</code>s, the condition that must be met is that <code>b</code> should not appear before <code>a</code>. In other words, the substring "ba" should not be present in the string <span class="arithmatex">\(s\)</span>.</p>
86791
+ <p>The time complexity is <span class="arithmatex">\(O(n)\)</span>, where <span class="arithmatex">\(n\)</span> is the length of the string <span class="arithmatex">\(s\)</span>. The space complexity is <span class="arithmatex">\(O(1)\)</span>.</p>
86792
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:6"><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" /><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></div>
86790
86793
<div class="tabbed-content">
86791
86794
<div class="tabbed-block">
86792
86795
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -86817,7 +86820,7 @@ <h3 id="solution-1">Solution 1</h3>
86817
86820
<span class="normal">6</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>
86818
86821
<span class="k">public</span><span class="o">:</span>
86819
86822
<span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">checkString</span><span class="p">(</span><span class="n">string</span><span class="w"> </span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
86820
- <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">s </span><span class="p">.</span><span class=" n">find</span><span class="p">(</span><span class="s">"ba" </span><span class="p">) </span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class=" n">string </span><span class="o">:: </span><span class="n">npos </span><span class="p">;</span>
86823
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">! </span><span class="n">s </span><span class="p">. </span><span class="n">contains </span><span class="p">( </span><span class="s">"ba" </span><span class="p">) ;</span>
86821
86824
<span class="w"> </span><span class="p">}</span>
86822
86825
<span class="p">};</span>
86823
86826
</code></pre></div></td></tr></table></div>
@@ -86830,6 +86833,26 @@ <h3 id="solution-1">Solution 1</h3>
86830
86833
<span class="p">}</span>
86831
86834
</code></pre></div></td></tr></table></div>
86832
86835
</div>
86836
+ <div class="tabbed-block">
86837
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
86838
+ <span class="normal">2</span>
86839
+ <span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">checkString</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">boolean</span><span class="w"> </span><span class="p">{</span>
86840
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">!</span><span class="nx">s</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="s1">'ba'</span><span class="p">);</span>
86841
+ <span class="p">}</span>
86842
+ </code></pre></div></td></tr></table></div>
86843
+ </div>
86844
+ <div class="tabbed-block">
86845
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
86846
+ <span class="normal">2</span>
86847
+ <span class="normal">3</span>
86848
+ <span class="normal">4</span>
86849
+ <span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">impl</span><span class="w"> </span><span class="n">Solution</span><span class="w"> </span><span class="p">{</span>
86850
+ <span class="w"> </span><span class="k">pub</span><span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">check_string</span><span class="p">(</span><span class="n">s</span><span class="p">:</span><span class="w"> </span><span class="nb">String</span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="p">{</span>
86851
+ <span class="w"> </span><span class="o">!</span><span class="n">s</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="s">"ba"</span><span class="p">)</span>
86852
+ <span class="w"> </span><span class="p">}</span>
86853
+ <span class="p">}</span>
86854
+ </code></pre></div></td></tr></table></div>
86855
+ </div>
86833
86856
</div>
86834
86857
</div>
86835
86858
<!-- solution:end -->
0 commit comments