小练习及一些面试题
- 请写出一段Python代码实现删除一个list里面的重复元素----最后没有重复元素
def func(li):
new_li = list(set(li))
new_li.sort(key=li.index)
return new_li
if __name__ == '__main__':
li = [3, 2, 4, 4, 2, 1, 3]
print(func(li))
- 使用递归方法对一个数组求最大值和最小值
def rminmax(l, i=0, cmin=float('inf'), cmax=float('-inf')):
e = l[i]
if e < cmin:
cmin = e
if e > cmax:
cmax = e
if i == len(l) - 1:
return cmin, cmax
return rminmax(l, i + 1, cmin, cmax)
li = [1, 2, 3, 9, 3, 10]
print(rminmax(li))
-
实现单例模式
-
对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素
-
实现两个类,分别实现堆栈(Stack)和队列(Queue)操作
-
a=[1, 2, 3] b=[2, 3, 4],c=[4, 5, 6, 7] 所有的组合
-
a={'a':1, 'b':2, 'c':3} b={'b':2}, c={'a':1, 'b':2, 'd':1}
# print(d1.keys() & d2.keys() & d3.keys())
a = d1.items() & d2.items() & d3.items()
print(dict(a))
- 括号匹配问题
- list中的数字成最大的整数