您的位置:首页 > 编程语言 > Python开发

面试题记录 - python面试笔试编程汇总(简单算法题)

2020-03-29 12:20 746 查看

目录

简单算法题

斐波那契数列

  1. 递归

    def fab(n):
    # 终止条件 边界
    if n <= 2:
    return 1
    else:
    # 最优子结构 状态转移公式
    return fab(n - 1) + fab(n - 2)
  2. 动态规划

    def fab_2(n):
    # 由前往后推
    a = 1
    b = 1
    if n <= 2:
    print('fab({})={}'.format(n, b))
    return 1
    for i in range(n - 2):
    print(a, b)
    a, b = b, a + b
    print('fab({})={}'.format(n, b))
    return b

判断两个有序数组中是否存在相同的数字(Python)

初始化两个下标,分别从两个数组的第一个元素开始,比较当前两个元素的大小,将较小元素的下标加一,如果有相同的数字,则返回True,如果直到数组末尾还没有相同的数字出现,则返回False。O(2n)

def findSameNum(a,b):
i = j = 0
while i <= len(a) and j <= len(b):
if a[i] == b[j]
return True
elif a[i] > b[j]:
j += 1
else:
i+=1
return False

找出一个字符串中所有回文子串(长度 >=3,长度为奇数的),并记录他的起始位置(暴力)

不会

网格路径规划问题-动态规划

有一个二维数组,row=2,col=n(要求输入),"." 表示可以走,“X” 表示障碍物,问从左上角走到右下角有多少条路。方式:只能→,↗,↘

最好一样

给一组数,和一个正整数x,找数组里面最大重复个数,只能进行一个运算,与x进行按位或运算

竞技世界笔试题:对手中的一副扑克牌进行大小排序(python)

4种花色分别用其大写英文首字母表示: S:Spades,H:Heart,C:Club,D:Dimond
eg.梅花3表示为C3
参考

返回主目录

  • 点赞
  • 收藏
  • 分享
  • 文章举报
bingolina 发布了30 篇原创文章 · 获赞 0 · 访问量 1193 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: