劍指offer第一和第二題

2021-08-17 10:15:40 字數 1007 閱讀 8684

第一題:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

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

class

solution:

# array 二維列表

deffind

(self, target, array):

# write code here

for i in range(len(array)):

for j in range(len(array[i])):

if target == array[i][j]:

return

'true'

return

'false'

s = solution()

target = 4

array = [[2, 3]]

print(s.find(target, array))

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

class

solution:

# s 源字串

defreplacespace

(self, s):

# write code here

s2 =

s = list(s)

for str1 in s:

if str1 == " ":

else:

return

''.join(s2)

s = solution()

python中將list轉換為字串

命令:」.join(list)

其中,引號中是字元之間的分割符,如「,」,「;」,「\t」等等

如: list = [1, 2, 3, 4, 5]

」.join(list) 結果即為:12345

『,』.join(list) 結果即為:1,2,3,4,5

劍指offer第二題

最直觀的做法是從頭往後開始掃瞄,但是這樣複雜度為o n 2 o n 的做法是從後往前開始複製和替換。先求出替換後的字串大小,然後用兩個指標 index 從後往前複製,如果遇上空格,直接替換為 20 public class solution int oldindex str.length 1 int...

劍指offer第二題

請實現乙個函式,將乙個字串中的空格替換成 20 例如,當字串為 則經過替換之後的字串為 分析 考場陣列的操作,主要是從頭到尾的操作要消耗o n 複雜度,如果完成插值,則為o n2 所以要從尾部倒過來轉移。注意 本題有兩點要考慮。其一,注意錯誤的返回值為return,而不是return false。其...

劍指Offer第一題

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 從數值中間開始查詢,根據題意,二維陣列的左上角是最小值,二維陣列的右下角是最大值,從中間數值查詢是最節約時間的,可以從左下角或者...