两道面试题
摘要:一、统计字符串封闭区间一个数字或字符在形状上可能存在封闭的区间,比如数字8有两个封闭区间,大写字母A有一个封闭区间。小写字母c和数字5则没有封闭区间、 def get_num(string): num = 0 for i in string: if i in "8B": num += 2 elif
阅读全文
找出列表中第二大数
摘要:题目: 有一个无序列表,请找出这个列表中的第二大的数。时间复杂度控制在O(n)内。 def get_second_num(arry): # 比较列表前两个元素,大的赋值给first,小的赋值给second first = arry[0] if arry[0] > arry[1] else arry[
阅读全文
移动后存活概率
摘要:问题见图片 def how_likely_alive(size, startx, starty, n): sum_probability = 4 ** n # 所有可能的移动结果数 start_point = [(startx, starty)] # 定义起始位置坐标 while n > 0: en
阅读全文
斐波拉契数列
摘要:斐波拉契数列又称“兔子数列” 经典问题: 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。 假设兔子不会死亡,而且每次出生的兔子都是一雌一雄,其他问题不考虑。 一开始有一对兔子,那么第一、第二个月都是一对兔子; 第三个月生下一对兔子,为两对兔子; 第四个月再次生下一对兔
阅读全文
杨辉三角
摘要:关于杨辉三角,不多说,直接看图理解 题目:输入一个数字n(正整数),输出杨辉三角的前n行。即输入1,返回上图第一行:1;输入2,返回上图前三行1,1 1;输入3,返回上图前三行1,1 1,1 2 1;以此类推。 题目解析:根据图片我们可知,想要得到结果,我们需要得到每一行结果,然后将每一行结果拼接。
阅读全文