######最近因為找工作,所以在牛客網上刷了一些題,想在部落格上記錄下來自己的想法~
######寫的不好還請大家多指教。
1. [二維陣列中的查詢] 在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
1#-*- coding:utf-8 -*-2#
author: bing xu34
deffind(target, array):
5if (len(array) - 1 == 0) and (len(array[0]) == 0): #
陣列為空直接返回false
6return
false
7for i in range(len(array)): #
開始遍歷陣列
8if target <= array[i][-1]: #
如果target小於等於這一行的最後乙個元素,那麼target可能在這一行中
9if target < array[i][0]: #
如果target小於這一行的第乙個元素,返回false
10return
false
11for j in range(len(array[i])): #
遍歷target可能存在的這一行
12if array[i][j] ==target:
13return
true
14return false #
經過了所有的遍歷還是沒有找到,則說明不在此陣列中
2.[旋轉陣列的最小數字] 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入乙個非減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。 例如陣列為的乙個旋轉,該陣列的最小值為1。 note:給出的所有元素都大於0,若陣列大小為0,請返回0。
1#-*- coding:utf-8 -*-2#
author: bing xu34
deffind_min(list):
5if len(list) == 0: #
先確保是非空列表
6return07
for i in
range(len(list)):
8if list[i]-list[-i-1] < 0: #
用第i個元素減去倒數第i個元素,如果答案小於0,那麼可能是:(1)未旋轉部分最大值[i]作了被減數,9#
那麼倒數第i-1個數為min(2)旋轉部分最小值[i]作了減數,
10if list[i] < list[-(i-1)-1]: #
這時只要判斷這兩個數那個小哪個就是min
11return
list[i]
12else:13
return list[-(i-1)-1]
3.[從尾到頭列印鍊錶] 輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist。
#-*- coding:utf-8 -*-
#class listnode:
#def __init__(self, x):
#self.val = x
#self.next = none
class
solution:
#返回從尾部到頭部的列表值序列,例如[1,2,3]
defprintlistfromtailtohead(self, listnode):
list =
while listnode: #
遍歷列表
list.insert(0,listnode.val) #
用insert實現倒敘
listnode =listnode.next
return list
Python面試題(一)
def extendlist val,list return list list1 extendlist 10 list2 extendlist 123,list3 extendlist a print list1 print list2 print list3 執行結果和解析過程 10,a 123...
python面試題(一)
整理了一些python面試可能遇到的題,提供給大家,希望能對大家有用!1.下面的 會輸出什麼?def extend list val,list return list list1 extend list 10 list2 extend list 123,list3 extend list a pri...
python語法面試題 python面試題
1.去重,集合 集合的乙個重要特點是 自動去除重複的值 li 1,2,3,1,1,2,2,3,3 去除重複的元素 set set li 轉換為集合,因為集合會自動去重。print set li list set 將集合轉換為列表print li 2.生成器 規則 生成器函式,或者生成器表示式,在呼叫...