#!python3
#-*- coding:utf-8 -*-
'''對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。
給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置(從0開始),
若不存在該元素,返回-1。若該元素出現多次,請返回第一次出現的位置。
測試樣例:
[1,3,5,7,9],5,3
返回:1
'''class binarysearch:
def getpos(self, a, n, val):
# write code here
start = 0
end = n
while start <= end:
mid = (start + end) // 2
mid_value = a[mid]
if mid_value == val:
return mid
elif mid_value < val:
start = mid + 1
else:
end = mid - 1
return -1
if __name__ == '__main__':
""a = [1, 3, 5, 7, 9]
n = 5
val = 3
b = binarysearch()
b.getpos(a, n, val)
0x03 浮點數運算
浮點數不能作位運算和移位運算。浮點數是不精確的。浮點數在運算過程中得不到精確的結果,所以我們比較兩個浮點數大小是否相等的策略是看他們的差的絕對值是不是比乙個特別小的數還要小。整數和浮點數進行運算,整數自動提公升型別為浮點數。double c 1 5.2 1會提公升為1.0 double c 1.0 ...
招聘程式設計題0x01
python3 coding utf 8 題目描述 請設計乙個高效演算法,再給定的字串陣列中,找到包含 coder 的字串 不區分大小寫 並將其作為乙個新的陣列返回。結果字串的順序按照 coder 出現的次數遞減排列,若兩個串中 coder 出現的次數相同,則保持他們在原陣列中的位置關係。給定乙個字...
招聘程式設計題0x02
python3 coding utf 8 在4x4的棋盤上擺滿了黑白棋子,黑白兩色的位置和數目隨機其中左上角座標為 1,1 右下角座標為 4,4 現在依次有一些翻轉操作,要對一些給定支點座標為中心的上下左右四個棋子的顏色進行翻轉,請計算出翻轉後的棋盤顏色。給定兩個陣列a和f,分別為初始棋盤和翻轉位置...