給定乙個字串和乙個偏移量,根據偏移量旋轉字串(從左向右旋轉)思路:樣例 對於字串 「abcdefg」.
offset=0 => 「abcdefg」
offset=1 => 「gabcdef」
offset=2 => 「fgabcde」
offset=3 => 「efgabcd」
挑戰 在陣列上原地旋轉,使用o(1)的額外空間
①新建立乙個字串陣列suffix,依次存放倒數的offset個數;
②將原字串陣列str中的元素,依次向後移動offset個位置
③suffix中存放的元素,全部轉移到str的前offset個位置
需要注意:如果offset>str的長度,要對offset取模;c++:off = offset%str.size()
class
solution
for(i=size-off-1;i>=0;i--)
for(i=0;istr[i] = suffix[i];}}
}};
py3:
pothon 中 的 for i in range(4,6) 指的是4,5 即4<=i<6容易出錯
class
solution:
""" @param str: an array of char
@param offset: an integer
@return: nothing
"""defrotatestring
(self, str, offset):
# write your code here
size = len(str)
if size == 0:
return
off = offset%size
if off == 0:
return
if off!=0:
suffix =
for i in range(size-off,size):
# todo: write code...
j = size-off-1
while j>=0:
str[j+off] = str[j]
j -= 1
for k in range(0,off):
str[k] = suffix[k]
LintCode刷題 旋轉字串
描述 給定乙個字串 以字元陣列的形式給出 和乙個偏移量,根據偏移量原地旋轉字串 從左向右旋轉 樣例 輸入 str abcdefg offset 3 輸出 str efgabcd 樣例解釋 注意是原地旋轉,即str旋轉後為 efgabcd 解題 難點分析 字串為 的情況 偏移量 offset 0 偏移...
LintCode刷題之路(四) 醜數
設計乙個演算法,找出只含素因子2,3,5 的第 n 小的數。符合條件的數如 1,2,3,4,5,6,8,9,10,12 樣例 如果n 9,返回 10 挑戰 要求時間複雜度為o nlogn 或者o n 思路 根據醜數的定義可知,每乙個醜數都是由前面的醜數生成。例如 2是由1 2得來,3是由1 3得來。...
lintcode刷題 搜尋旋轉排序陣列
原題如下 搜尋旋轉排序陣列 假設有乙個排序的 按未知的旋轉軸旋轉的 陣列 比如,0 1 2 4 5 6 7 可能成為 4 5 6 7 0 1 2 給定乙個目標值進行搜尋,如果在陣列中找到目標值返回陣列中的索引位置,否則返回 1。你可以假設陣列中不存在重複的元素。您在真實的面試中是否遇到過這個題?ye...