色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 算法筆試題

Python編程語言應(yīng)用廣泛,特別是在算法和數(shù)據(jù)分析領(lǐng)域,Python的表現(xiàn)非常好。在面試和求職時(shí),Python算法筆試題是必備的。下面介紹一些Python算法筆試題,幫助大家練習(xí)和提高能力。

# 題目1:最大公約數(shù)算法
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
# 測試樣例
print(gcd(15, 20))  # 5
print(gcd(16, 24))  # 8
print(gcd(7, 21))   # 7

上面的代碼實(shí)現(xiàn)了最大公約數(shù)算法,使用的是遞歸算法。最大公約數(shù)是指兩個數(shù)的公共因子中最大的一個數(shù)。

# 題目2:判斷是否為素?cái)?shù)
def is_prime(num):
if num< 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 測試樣例
print(is_prime(7))    # True
print(is_prime(12))   # False
print(is_prime(23))   # True

上面的代碼實(shí)現(xiàn)了判斷是否為素?cái)?shù)的算法,使用的是暴力枚舉算法。素?cái)?shù)是指只能被1和自身整除的數(shù)。

# 題目3:二分查找算法
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left<= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid]< target:
left = mid + 1
else:
right = mid - 1
return -1
# 測試樣例
arr = [1, 3, 5, 7, 9]
target = 7
print(binary_search(arr, target))    # 3

上面的代碼實(shí)現(xiàn)了二分查找算法,使用的是迭代算法。二分查找算法是指在一個排好序的數(shù)組中查找某個數(shù),找到返回其下標(biāo),找不到返回-1。