No.1
# 第一题
# l = [1, 2, 3, 1, 2, 3, 2, 4]
# 排序从大到小
# 过滤相同的数,相同的个数越多,排在前面
# 个数相同,元素值大的,排在前面
No.2
# 第二题
# 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
No.3
# 第三题
# 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# 程序分析:循环计算即可,判断成立即可输出。首先要判断是否为正整数。引入math模块算平方根。
No.4
# 第四题
# 题目:输入某年某月某日,判断这一天是这一年的第几天?
# 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,
# 特殊情况,闰年且输入月份大于3时需考虑多加一天。
No.5
# 第五题
# 台阶问题/斐波纳挈
# 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
No.6
# 第六题
# 变态台阶问题# 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
# 求该青蛙跳上一个n级的台阶总共有多少种跳法。
No.7
# 第七题
# 矩形覆盖
# 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。
# 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
# 第2*n个矩形的覆盖方法等于第2*(n-1)加上第2*(n-2)的方法。
f = lambda n: 1 if
n < 2 else f(n - 1) + f(n - 2)
No.8
# 第八题
# 杨氏矩阵查找
# 在一个m行n列二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序
# 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
# 1 2 3
# 2 3 4
# 3 4 5
No.9
# 第九题
# 去除list重复元素
第二种方法
第三种方法
No.10
# 第十题
# 合并有序列表
# 尾递归
第二种方法
No.11
# 第十一题
# 二分查找
作者:BigJeffWang
源自:http://www.jianshu.com/p/a39e5887552b
声明: 文章著作权归作者所有,如有侵权,请联系小编删除