牛客 劍指offer系列題解 左旋轉字串

2021-10-06 09:40:28 字數 1274 閱讀 5423

記錄刷題的過程。牛客和力扣中都有相關題目,這裡以牛客的題目描述為主。該系列預設採用python語言。

1、問題描述:

組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!

2、資料結構:

字串、陣列

3、題解:

用字串

# -*- coding:utf-8 -*-

class

solution

:def

leftrotatestring

(self, s, n)

:# write code here

if s =='':

return

'' res =

''for i in

range

(n,len

(s))

: res += s[i]

for i in

range

(n):

res += s[i]

return res

或者:

用陣列

# -*- coding:utf-8 -*-

class

solution

:def

leftrotatestring

(self, s, n)

:# write code here

if s =='':

return s

res =

for i in

range

(n,len

(s)):)

for i in

range

(n):

)return

''.join(res)

或者:

# -*- coding:utf-8 -*-

class

solution

:def

leftrotatestring

(self, s, n)

:# write code here

return s[n:

]+ s[

:n]

4、複雜度分析:

時間複雜度都為o(n)

空間複雜度都為o(n)

牛客劍指offer 1 10題解

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution else continue 記憶體集體向右移兩個位元組 並置 0前兩個位元組 v...

牛客 劍指offer系列題解 最小的K個數

記錄刷題的過程。牛客和力扣中都有相關題目,這裡以牛客的題目描述為主。該系列預設採用python語言。1 問題描述 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,2 資料結構 二叉樹,堆 3 題解 方法1 排序,取前k個數 co...

牛客 劍指offer系列題解 把陣列排成最小的數

記錄刷題的過程。牛客和力扣中都有相關題目,這裡以牛客的題目描述為主。該系列預設採用python語言。1 問題描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。2 資料結構 陣列,字串,排序...