📜  MAQ 软件面试经验 | Set 11 (校内笔试)(1)

📅  最后修改于: 2023-12-03 14:44:08.916000             🧑  作者: Mango

MAQ 软件面试经验 | Set 11 (校内笔试)

MAQ 软件是一家专注于互联网产品开发的软件公司,经常举行校园招聘。以下是 MAQ 软件校内笔试的部分题目和解答。

1. 字符串匹配
题目描述

给定一组字符串数组 arr[],和一个字符串 s,判断 s 是否是 arr 中某个字符串的子串。

解答
def is_substring(arr, s):
    for string in arr:
        if s in string:
            return True
    return False
分析

这是一道比较简单的字符串匹配问题,只需要遍历字符串数组,判断 s 是否是每个字符串的子串即可。

2. 数组去重
题目描述

给定一个包含重复元素的数组 arr,设计一个算法,将数组中的重复元素去掉,并返回新的不包含重复元素的数组。

解答
def remove_duplicates(arr):
    return list(set(arr))
分析

Python 中,可以直接使用 set 将重复元素去掉,最后再将 set 转为 list 即可。

3. 斐波那契数列
题目描述

斐波那契数列是指数列中每个数字都是前两个数字之和。例如,第一个数字是 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 同时更新为下一项的值。