python 快速排序某筆試題

2021-10-23 17:57:04 字數 1255 閱讀 5438

下面展示一些內聯**片

// a code block

var foo = 'bar';

def get_mid

(arr,left,right)

: #前面是陣列,然後是索引

#先設定乙個基準值

pivot = right #基準值是右邊的時候,先從左邊開始遍歷

while leftwhile left<= arr[pivot]

: #left < right 不能少, 因為當left一直增加的時候,會使得left=rifht,會一直死迴圈

left +=

1while left>= arr[pivot]

: right -=

1 arr[left]

,arr[right]

= arr[right]

,arr[left]

arr[left]

,arr[pivot]

= arr[pivot]

,arr[left]

return right

def quicksort

(arr)

: left =

0 right =

len(arr)-1

stack =

stack.

([left,right]

)while stack:

pos = stack.

pop(

) center_i =

get_mid

(arr,pos[0]

,pos[1]

)if center_i -

1> pos[0]

: stack.

([pos[0]

,center_i -1]

)if center_i +

1< pos[1]

: stack.

([center_i +

1, pos[1]

])if __name__ ==

"__main__"

: data =[16

,25,45

,39,27

,12,8

,70,53

]quicksort

(data)

print

(data)

某廠筆試題

1 去附近店鋪買橘 前商店做活動,提供 打包銷售,例如每袋3個和每 袋5個的形式 現 只想購買n個橘 同時想購買盡量少的袋數 便攜帶。如 果不能購買恰好n個橘 就不會購買 可返回 1 求解輸出最少的袋數。例如 18 如題可知,求最少袋子的數量,眾所周知,5大於3 所以優先計算出可以被5除的部分,剩下...

某知名公司筆試題目

c c 測試題答題人 日期 一 c語言部分 a 關鍵字 volatile 有什麼含意?並給出三個不同的例子 b 關鍵字 static 的作用是什麼?c 給定乙個整型變數 a,寫兩段 第乙個設定a的 bit 3 第二個清除a 的 bit 3 在以上兩個操作中,要保持其它位不變 d 設定一絕對位址為 0...

快速排序實現以及相關筆試題

1 快速排序的實現思想 指定劃分元素,如key data l 然後i先由左至右遍歷陣列並同時判斷與key的大小,比key大則停止遍歷,再j從右向左開始遍歷陣列並同時判斷與key的大小,比key小則停止,兩趟比較後,比較i與j的大小,i j則不交換兩數,否則交換data i 與data j 當i j時...