好久之前的面试题目了,整理电脑文件碰巧看到以前的留档,整理一下
- 斐波那契数列指的是这样一个数列:
0,1,1,2,3,5,8,13,21,34,。。。
这个数列从第3项开始,每一项都等于前两项之和。请实现一个方法,输入N,返回为该长度的斐波那契数列的数组。
def fibo(n):
a,b=0,1
aws=[]
for i in range(n):
aws.append(a)
a,b=b,a+b
return aws
n=int(input())
print(fibo(n))
- 输入m,n(1 < m < n < 1000000),返回区间[m,n]内的所有素数的个数
def sushu(a,b):
aws=[]
for i in range(a,b):
for j in range(2,i):
if i%j==0:
break
else:
aws.append(i)
return aws
a,b=map(int,input().split())
print(sushu(a,b))
- n个人排成一列,每人手里面有0~n-1个球,如果有两人手中拥有同样数量的球,返回球的数量(如果有多组只需返回任意一组即可),否则返回-1
例如:给定lst=[2,4,1,0,5,3,2,3]表示8人手中拥有的球的数量,返回值输出2或者3都是可行的
def search(lst):
count=1
for i in lst:
for j in range(count,len(lst)):
if i==lst[count]:
print(i)
break
count+=1
lst=[2,4,1,0,5,3,2,3]
search(lst)
- 给一个数组如
[1, 8, 3, 5, 6],写一个方法,把所有偶数放到左侧,所有奇数放到右侧并返回,如[8, 6, 1, 3, 5]找出一个字符串中第一个不重复的字符串,并返回。如”abcacd”,第一个不重复的字符为”b”。请写一个方法实现
def find(str1):
len=len(str1)
for i in range(len-1):
a=str1[:i+1]
if str1[i+1] not in a:
return str1[i+1]
break

本文回顾了三个经典的编程面试问题:实现斐波那契数列、计算区间内素数数量以及队伍中球数量判断。通过实例展示了如何用Python解决这些基础但重要的算法问题。
961

被折叠的 条评论
为什么被折叠?



