有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。
我們將字母表中的下乙個字母稱為原字母的 移位(由於字母表是環繞的, 『z』 將會變成 『a』)。
例如·,shift(『a』) = 『b』, shift(『t』) = 『u』,, 以及 shift(『z』) = 『a』。
對於每個 shifts[i] = x , 我們會將 s 中的前 i+1 個字母移位 x 次。
返回將所有這些移位都應用到 s 後最終得到的字串。
輸入:s = "abc", shifts = [3,5,9]
輸出:"rpl"
解釋:
我們以 "abc" 開始。
將 s 中的第 1 個字母移位 3 次後,我們得到 "dbc"。
再將 s 中的前 2 個字母移位 5 次後,我們得到 "igc"。
最後將 s 中的這 3 個字母移位 9 次後,我們得到答案 "rpl"。
1 <= s.length = shifts.length <= 20000
0 <= shifts[i] <= 10 ^ 9
由題意可知,shifts[i]=x會把s的前i+1個字元移位x次,也就是說s第i位字元可以看成shifts[i~n-1]的共同影響。因此我們先對移動步數累加,遍歷s的字元,移動一次後就將影響數-shift[i]。
對於移動次數,我們將次數除以26取模即可。只是會分為兩種情況,一種是直接向後移;一種可能會從a開始。詳細過程見**
string shiftingletters
(string s, vector<
int>
& shifts)
string ans;
for(
int i=
0; i<
min(n,len)
; i++
)return ans;
}
Leetcode 848 字母移位 C
有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及 shift z a 對於每個 shifts i x 我們會將 s 中的前 i 1 個字母移位 x 次。...
848 字母移位
有乙個由小寫字母組成的字串s,和乙個整數陣列shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及shift z a 對於每個shifts i x,我們會將s中的前i 1個字母移位x次。返回將所有這些移位都...
848 字母移位
有乙個由小寫字母組成的字串 s,和乙個整數陣列 shifts。我們將字母表中的下乙個字母稱為原字母的 移位 由於字母表是環繞的,z 將會變成 a 例如 shift a b shift t u 以及 shift z a 對於每個 shifts i x 我們會將 s 中的前 i 1 個字母移位 x 次。...