##搬磚俠###
1、檢查列表是否包含整數x
l = [3, 3, 4, 5, 2, 111, 5]
print(111 in l) # true
2、在整數列表中查詢重複的數字
def find_duplicates(elements):
duplicates, seen = set(), set()
for element in elements:
if element in seen:
duplicates.add(element)
seen.add(element)
return list(duplicates)
3、檢查兩個字串是否有相同字母
def is_anagram(s1, s2):
return set(s1) == set(s2)
print(is_anagram("elvis", "lives")) # true
4、從列表中刪除重複項
lst = list(range(10)) + list(range(10))
print(lst)
lst = list(set(lst))
print(lst) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
5、在列表中查詢整數對,使它們的和等於整數x
def find_pairs(l, x):
pairs =
for (i, el_1) in enumerate(l):
for (j, el_2) in enumerate(l[i+1:]):
if el_1 + el_2 == x:
return pairs
6、檢查字串是否為回文
def is_palindrome(phrase):
return phrase == phrase[::-1]
print(is_palindrome("anna")) # true
7、使用列表作為堆疊、陣列和佇列
# as a list ...
l = [3, 4]
l += [5, 6] # l = [3, 4, 5, 6]
# ... as a stack ...
l.pop() # l = [4, 5, 6]
# ... and as a queue
l.insert(0, 5) # l = [5, 4, 5, 6]
l.pop() # l = [5, 4, 5]
8、獲取[1…100]中的缺失數字
def get_missing_number(lst):
return set(range(lst[len(lst)-1])[1:]) - set(l)
l = list(range(1,100))
l.remove(50)
print(get_missing_number(l)) # 50
9、計算兩個列表的交集
def intersect(lst1, lst2):
res, lst2_copy = , lst2[:]
for el in lst1:
if el in lst2_copy:
lst2_copy.remove(el)
return res
10、在未排序列表中查詢最大值和最小值
l = [4, 3, 6, 3, 4, 888, 1, -11, 22, 3]
print(max(l)) # 888
print(min(l)) # -11
11、使用遞迴反轉字串
def reverse(string):
if len(string)<=1:
return string return reverse(string[1:])+string[0]
print(reverse("hello")) # olleh
12、計算前n個斐波那契數
a, b = 0, 1
n = 10
for i in range(n):
print(b)
a, b = b, a+b
# 1, 1, 2, 3, 5, 8, ...
13、使用快速排序演算法排序列表
def qsort(l):
if l == : return
return qsort([x for x in l[1:] if x< l[0]]) + l[0:1] + qsort([x for x in l[1:] if x>=l[0]])
lst = [44, 33, 22, 5, 77, 55, 999]
print(qsort(lst))
# [5, 22, 33, 44, 55, 77, 999]
14、查詢字串的所有排列
def get_permutations(w):
if len(w)<=1: return set(w)
smaller = get_permutations(w[1:])
perms = set()
for x in smaller:
for pos in range(0,len(x)+1):
perm = x[:pos] + w[0] + x[pos:]
perms.add(perm)
return perms
print(get_permutations("nan"))
#
10個面試問題
10個面試問題。如果是我的話,作為乙個程式設計師在面試的時候要是被問及這10個問題,我會覺得以後我肯定能在這家公司愉快工作。你最喜歡的程式語言是什麼?你討厭哪些程式語言?為什麼?如果讓你在自己最常用的程式語言上面新增功能,你希望是什麼功能?說乙個你曾經參與過的專案,在這過程中經歷了哪些困難,最後如何...
140個Google面試問題
某獵頭收集了140多個google的面試題,都張到他的blog中了,主要是下面這些職位的,因為被牆,且無任何敏感資訊,所以,我原文搬過來了。這篇blog例舉了google用來面試下面這幾個職位的面試題。很多不是很容易回答,不過都比較經典與 是google,microsoft,amazon之類的公司的...
140個Google面試問題
某獵頭收集了140多個google的面試題,都張到他的blog中了,主要是下面這些職位的,因為被牆,且無任何敏感資訊,所以,我原文搬過來了。這 篇blog例舉了google用來面試下面這幾個職位的面試題。很多不是很容易回答,不過都比較經典與 是 google,microsoft,amazon之類的公...