Skip to content

Commit bd70642

Browse files
committed
deploy: 3c456ce
1 parent b8e1934 commit bd70642

File tree

6 files changed

+22
-92
lines changed

6 files changed

+22
-92
lines changed

en/lc/848/index.html

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24842,9 +24842,9 @@
2484224842
<ul class="md-nav__list">
2484324843

2484424844
<li class="md-nav__item">
24845-
<a href="#solution-1" class="md-nav__link">
24845+
<a href="#solution-1-suffix-sum" class="md-nav__link">
2484624846
<span class="md-ellipsis">
24847-
Solution 1
24847+
Solution 1: Suffix Sum
2484824848
</span>
2484924849
</a>
2485024850

@@ -78080,8 +78080,10 @@ <h2 id="description">Description</h2>
7808078080
<h2 id="solutions">Solutions</h2>
7808178081
<!-- solution:start -->
7808278082

78083-
<h3 id="solution-1">Solution 1</h3>
78084-
<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">Python3</label><label for="__tabbed_1_3">Java</label><label for="__tabbed_1_4">C++</label><label for="__tabbed_1_5">Go</label></div>
78083+
<h3 id="solution-1-suffix-sum">Solution 1: Suffix Sum</h3>
78084+
<p>For each character in the string $s$, we need to calculate its final shift amount, which is the sum of $\textit{shifts}[i]$, $\textit{shifts}[i + 1]$, $\textit{shifts}[i + 2]$, and so on. We can use the concept of suffix sum, traversing $\textit{shifts}$ from back to front, calculating the final shift amount for each character, and then taking modulo $26$ to get the final character.</p>
78085+
<p>The time complexity is $O(n)$, where $n$ is the length of the string $s$. Ignoring the space consumption of the answer, the space complexity is $O(1)$.</p>
78086+
<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>
7808578087
<div class="tabbed-content">
7808678088
<div class="tabbed-block">
7808778089
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -78116,44 +78118,6 @@ <h3 id="solution-1">Solution 1</h3>
7811678118
<span class="normal">10</span>
7811778119
<span class="normal">11</span>
7811878120
<span class="normal">12</span>
78119-
<span class="normal">13</span>
78120-
<span class="normal">14</span>
78121-
<span class="normal">15</span>
78122-
<span class="normal">16</span>
78123-
<span class="normal">17</span>
78124-
<span class="normal">18</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>
78125-
<span class="k">def</span> <span class="nf">shiftingLetters</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">shifts</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">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
78126-
<span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
78127-
<span class="n">d</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
78128-
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
78129-
<span class="n">v</span> <span class="o">=</span> <span class="nb">ord</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">-</span> <span class="nb">ord</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">)</span>
78130-
<span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+=</span> <span class="n">v</span>
78131-
<span class="n">d</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="o">-=</span> <span class="n">v</span>
78132-
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">shifts</span><span class="p">):</span>
78133-
<span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="n">x</span>
78134-
<span class="n">d</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="o">-=</span> <span class="n">x</span>
78135-
<span class="n">t</span> <span class="o">=</span> <span class="mi">0</span>
78136-
<span class="n">ans</span> <span class="o">=</span> <span class="p">[]</span>
78137-
<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>
78138-
<span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">%=</span> <span class="mi">26</span>
78139-
<span class="n">ans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ascii_lowercase</span><span class="p">[</span><span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]])</span>
78140-
<span class="n">d</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="o">+=</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
78141-
<span class="k">return</span> <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">ans</span><span class="p">)</span>
78142-
</code></pre></div></td></tr></table></div>
78143-
</div>
78144-
<div class="tabbed-block">
78145-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
78146-
<span class="normal"> 2</span>
78147-
<span class="normal"> 3</span>
78148-
<span class="normal"> 4</span>
78149-
<span class="normal"> 5</span>
78150-
<span class="normal"> 6</span>
78151-
<span class="normal"> 7</span>
78152-
<span class="normal"> 8</span>
78153-
<span class="normal"> 9</span>
78154-
<span class="normal">10</span>
78155-
<span class="normal">11</span>
78156-
<span class="normal">12</span>
7815778121
<span class="normal">13</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>
7815878122
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="nf">shiftingLetters</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="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">shifts</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
7815978123
<span class="w"> </span><span class="kt">char</span><span class="o">[]</span><span class="w"> </span><span class="n">cs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="na">toCharArray</span><span class="p">();</span>

en/lc/849/index.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24863,9 +24863,9 @@
2486324863
<ul class="md-nav__list">
2486424864

2486524865
<li class="md-nav__item">
24866-
<a href="#solution-1" class="md-nav__link">
24866+
<a href="#solution-1-single-traversal" class="md-nav__link">
2486724867
<span class="md-ellipsis">
24868-
Solution 1
24868+
Solution 1: Single Traversal
2486924869
</span>
2487024870
</a>
2487124871

@@ -78074,7 +78074,11 @@ <h2 id="description">Description</h2>
7807478074
<h2 id="solutions">Solutions</h2>
7807578075
<!-- solution:start -->
7807678076

78077-
<h3 id="solution-1">Solution 1</h3>
78077+
<h3 id="solution-1-single-traversal">Solution 1: Single Traversal</h3>
78078+
<p>We define two variables $\textit{first}$ and $\textit{last}$ to represent the positions of the first and last person, respectively. We use the variable $d$ to represent the maximum distance between two people.</p>
78079+
<p>Then, we traverse the array $\textit{seats}$. If the current position is occupied, and if $\textit{last}$ has been updated before, it means there was someone before, so we update $d = \max(d, i - \textit{last})$. If $\textit{first}$ has not been updated before, it means there was no one before, so we update $\textit{first} = i$. Next, we update $\textit{last} = i$.</p>
78080+
<p>Finally, we return $\max(\textit{first}, n - \textit{last} - 1, d / 2)$.</p>
78081+
<p>The time complexity is $O(n)$, where $n$ is the length of the array $\textit{seats}$. The space complexity is $O(1)$.</p>
7807878082
<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>
7807978083
<div class="tabbed-content">
7808078084
<div class="tabbed-block">

en/search/search_index.json

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

lc/848/index.html

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -82684,9 +82684,9 @@ <h2 id="_2">解法</h2>
8268482684
<!-- solution:start -->
8268582685

8268682686
<h3 id="_3">方法一:后缀和</h3>
82687-
<p>对于字符串 $s$ 中的每个字符,我们需要计算其最终的偏移量,即 <code>shifts[i]</code><code>shifts[i + 1]</code><code>shifts[i + 2]</code> ... 的和。我们可以使用后缀和的思想,从后往前遍历 <code>shifts</code>,计算每个字符的最终偏移量,然后对 $26$ 取模,得到最终的字符。</p>
82687+
<p>对于字符串 $s$ 中的每个字符,我们需要计算其最终的偏移量,即 $\textit{shifts}[i]$$\textit{shifts}[i + 1]$$\textit{shifts}[i + 2]$ ... 的和。我们可以使用后缀和的思想,从后往前遍历 $\textit{shifts}$,计算每个字符的最终偏移量,然后对 $26$ 取模,得到最终的字符。</p>
8268882688
<p>时间复杂度 $O(n)$,其中 $n$ 为字符串 $s$ 的长度。忽略答案的空间消耗,空间复杂度 $O(1)$。</p>
82689-
<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">Python3</label><label for="__tabbed_1_3">Java</label><label for="__tabbed_1_4">C++</label><label for="__tabbed_1_5">Go</label></div>
82689+
<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>
8269082690
<div class="tabbed-content">
8269182691
<div class="tabbed-block">
8269282692
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
@@ -82721,44 +82721,6 @@ <h3 id="_3">方法一:后缀和</h3>
8272182721
<span class="normal">10</span>
8272282722
<span class="normal">11</span>
8272382723
<span class="normal">12</span>
82724-
<span class="normal">13</span>
82725-
<span class="normal">14</span>
82726-
<span class="normal">15</span>
82727-
<span class="normal">16</span>
82728-
<span class="normal">17</span>
82729-
<span class="normal">18</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>
82730-
<span class="k">def</span> <span class="nf">shiftingLetters</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">shifts</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">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
82731-
<span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
82732-
<span class="n">d</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
82733-
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
82734-
<span class="n">v</span> <span class="o">=</span> <span class="nb">ord</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">-</span> <span class="nb">ord</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">)</span>
82735-
<span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+=</span> <span class="n">v</span>
82736-
<span class="n">d</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="o">-=</span> <span class="n">v</span>
82737-
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">shifts</span><span class="p">):</span>
82738-
<span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="n">x</span>
82739-
<span class="n">d</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="o">-=</span> <span class="n">x</span>
82740-
<span class="n">t</span> <span class="o">=</span> <span class="mi">0</span>
82741-
<span class="n">ans</span> <span class="o">=</span> <span class="p">[]</span>
82742-
<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>
82743-
<span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">%=</span> <span class="mi">26</span>
82744-
<span class="n">ans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ascii_lowercase</span><span class="p">[</span><span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]])</span>
82745-
<span class="n">d</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="o">+=</span> <span class="n">d</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
82746-
<span class="k">return</span> <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">ans</span><span class="p">)</span>
82747-
</code></pre></div></td></tr></table></div>
82748-
</div>
82749-
<div class="tabbed-block">
82750-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
82751-
<span class="normal"> 2</span>
82752-
<span class="normal"> 3</span>
82753-
<span class="normal"> 4</span>
82754-
<span class="normal"> 5</span>
82755-
<span class="normal"> 6</span>
82756-
<span class="normal"> 7</span>
82757-
<span class="normal"> 8</span>
82758-
<span class="normal"> 9</span>
82759-
<span class="normal">10</span>
82760-
<span class="normal">11</span>
82761-
<span class="normal">12</span>
8276282724
<span class="normal">13</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>
8276382725
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="nf">shiftingLetters</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="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">shifts</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
8276482726
<span class="w"> </span><span class="kt">char</span><span class="o">[]</span><span class="w"> </span><span class="n">cs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">.</span><span class="na">toCharArray</span><span class="p">();</span>

0 commit comments

Comments
 (0)