@@ -91298,7 +91298,7 @@ <h2 id="solutions">Solutions</h2>
91298
91298
<h3 id="solution-1-enumeration">Solution 1: Enumeration</h3>
91299
91299
<p>We enumerate each integer <span class="arithmatex">\(x\)</span> in the range <span class="arithmatex">\([low, high]\)</span>, and check whether it is a palindromic number. If it is, then the answer <span class="arithmatex">\(ans\)</span> is increased by <span class="arithmatex">\(1\)</span>.</p>
91300
91300
<p>The time complexity is <span class="arithmatex">\(O(n \times \log m)\)</span>, and the space complexity is <span class="arithmatex">\(O(\log m)\)</span>. Here, <span class="arithmatex">\(n\)</span> is the number of integers in the range <span class="arithmatex">\([low, high]\)</span>, and <span class="arithmatex">\(m\)</span> is the maximum integer given in the problem.</p>
91301
- <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>
91301
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:7 "><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" /><input id="__tabbed_1_7" 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><label for="__tabbed_1_7">C# </label></div>
91302
91302
<div class="tabbed-content">
91303
91303
<div class="tabbed-block">
91304
91304
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -91512,6 +91512,114 @@ <h3 id="solution-1-enumeration">Solution 1: Enumeration</h3>
91512
91512
<span class="p">}</span>
91513
91513
</code></pre></div></td></tr></table></div>
91514
91514
</div>
91515
+ <div class="tabbed-block">
91516
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91517
+ <span class="normal"> 2</span>
91518
+ <span class="normal"> 3</span>
91519
+ <span class="normal"> 4</span>
91520
+ <span class="normal"> 5</span>
91521
+ <span class="normal"> 6</span>
91522
+ <span class="normal"> 7</span>
91523
+ <span class="normal"> 8</span>
91524
+ <span class="normal"> 9</span>
91525
+ <span class="normal">10</span>
91526
+ <span class="normal">11</span>
91527
+ <span class="normal">12</span>
91528
+ <span class="normal">13</span>
91529
+ <span class="normal">14</span>
91530
+ <span class="normal">15</span>
91531
+ <span class="normal">16</span>
91532
+ <span class="normal">17</span>
91533
+ <span class="normal">18</span>
91534
+ <span class="normal">19</span>
91535
+ <span class="normal">20</span>
91536
+ <span class="normal">21</span>
91537
+ <span class="normal">22</span>
91538
+ <span class="normal">23</span>
91539
+ <span class="normal">24</span>
91540
+ <span class="normal">25</span>
91541
+ <span class="normal">26</span>
91542
+ <span class="normal">27</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>
91543
+ <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">count_symmetric_integers</span><span class="p">(</span><span class="n">low</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">,</span><span class="w"> </span><span class="n">high</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
91544
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91545
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">low</span><span class="o">..=</span><span class="n">high</span><span class="w"> </span><span class="p">{</span>
91546
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="bp">Self</span><span class="p">::</span><span class="n">f</span><span class="p">(</span><span class="n">x</span><span class="p">);</span>
91547
+ <span class="w"> </span><span class="p">}</span>
91548
+ <span class="w"> </span><span class="n">ans</span>
91549
+ <span class="w"> </span><span class="p">}</span>
91550
+
91551
+ <span class="w"> </span><span class="k">fn</span><span class="w"> </span><span class="nf">f</span><span class="p">(</span><span class="n">x</span><span class="p">:</span><span class="w"> </span><span class="kt">i32</span><span class="p">)</span><span class="w"> </span><span class="p">-></span><span class="w"> </span><span class="kt">i32</span><span class="w"> </span><span class="p">{</span>
91552
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">.</span><span class="n">to_string</span><span class="p">();</span>
91553
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">len</span><span class="p">();</span>
91554
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">n</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="mi">1</span><span class="w"> </span><span class="p">{</span>
91555
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91556
+ <span class="w"> </span><span class="p">}</span>
91557
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="n">bytes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">as_bytes</span><span class="p">();</span>
91558
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91559
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="k">mut</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91560
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="mi">0</span><span class="o">..</span><span class="n">n</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="p">{</span>
91561
+ <span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="p">(</span><span class="n">bytes</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="sc">b'0'</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="p">;</span>
91562
+ <span class="w"> </span><span class="p">}</span>
91563
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="o">..</span><span class="n">n</span><span class="w"> </span><span class="p">{</span>
91564
+ <span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="p">(</span><span class="n">bytes</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="sc">b'0'</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="kt">i32</span><span class="p">;</span>
91565
+ <span class="w"> </span><span class="p">}</span>
91566
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">}</span>
91567
+ <span class="w"> </span><span class="p">}</span>
91568
+ <span class="p">}</span>
91569
+ </code></pre></div></td></tr></table></div>
91570
+ </div>
91571
+ <div class="tabbed-block">
91572
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
91573
+ <span class="normal"> 2</span>
91574
+ <span class="normal"> 3</span>
91575
+ <span class="normal"> 4</span>
91576
+ <span class="normal"> 5</span>
91577
+ <span class="normal"> 6</span>
91578
+ <span class="normal"> 7</span>
91579
+ <span class="normal"> 8</span>
91580
+ <span class="normal"> 9</span>
91581
+ <span class="normal">10</span>
91582
+ <span class="normal">11</span>
91583
+ <span class="normal">12</span>
91584
+ <span class="normal">13</span>
91585
+ <span class="normal">14</span>
91586
+ <span class="normal">15</span>
91587
+ <span class="normal">16</span>
91588
+ <span class="normal">17</span>
91589
+ <span class="normal">18</span>
91590
+ <span class="normal">19</span>
91591
+ <span class="normal">20</span>
91592
+ <span class="normal">21</span>
91593
+ <span class="normal">22</span>
91594
+ <span class="normal">23</span>
91595
+ <span class="normal">24</span>
91596
+ <span class="normal">25</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">public</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
91597
+ <span class="w"> </span><span class="k">public</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">CountSymmetricIntegers</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">low</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">high</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91598
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91599
+ <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">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">low</span><span class="p">;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="n">high</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91600
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">f</span><span class="p">(</span><span class="n">x</span><span class="p">);</span>
91601
+ <span class="w"> </span><span class="p">}</span>
91602
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
91603
+ <span class="w"> </span><span class="p">}</span>
91604
+
91605
+ <span class="w"> </span><span class="k">private</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">f</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91606
+ <span class="w"> </span><span class="kt">string</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">x</span><span class="p">.</span><span class="n">ToString</span><span class="p">();</span>
91607
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="n">Length</span><span class="p">;</span>
91608
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">n</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="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91609
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91610
+ <span class="w"> </span><span class="p">}</span>
91611
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91612
+ <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">0</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">n</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="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91613
+ <span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">s</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="sc">'0'</span><span class="p">;</span>
91614
+ <span class="w"> </span><span class="p">}</span>
91615
+ <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="n">n</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="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">n</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>
91616
+ <span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">s</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="sc">'0'</span><span class="p">;</span>
91617
+ <span class="w"> </span><span class="p">}</span>
91618
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91619
+ <span class="w"> </span><span class="p">}</span>
91620
+ <span class="p">}</span>
91621
+ </code></pre></div></td></tr></table></div>
91622
+ </div>
91515
91623
</div>
91516
91624
</div>
91517
91625
<!-- solution:end -->
0 commit comments