📅  最后修改于: 2023-12-03 14:44:08.916000             🧑  作者: Mango
MAQ 软件是一家专注于互联网产品开发的软件公司,经常举行校园招聘。以下是 MAQ 软件校内笔试的部分题目和解答。
给定一组字符串数组 arr[],和一个字符串 s,判断 s 是否是 arr 中某个字符串的子串。
def is_substring(arr, s):
for string in arr:
if s in string:
return True
return False
这是一道比较简单的字符串匹配问题,只需要遍历字符串数组,判断 s 是否是每个字符串的子串即可。
给定一个包含重复元素的数组 arr,设计一个算法,将数组中的重复元素去掉,并返回新的不包含重复元素的数组。
def remove_duplicates(arr):
return list(set(arr))
Python 中,可以直接使用 set 将重复元素去掉,最后再将 set 转为 list 即可。
斐波那契数列是指数列中每个数字都是前两个数字之和。例如,第一个数字是 0,第二个数字是 1,第三个数字是 0+1=1,第四个数字是 1+1=2,第五个数字是 1+2=3,以此类推。设计一个函数,输入 n,打印出斐波那契数列的前 n 项。
def fib(n):
a, b = 0, 1
for i in range(n):
print(a, end=" ")
a, b = b, a+b
通过循环来迭代斐波那契数列的每一项,同时利用 Python 中的多重赋值语句,将 a 和 b 同时更新为下一项的值。