Py学习  »  Python

Python精选面试题

Python学习交流 • 6 年前 • 569 次点击  


No.1

# 第一题
# l = [1, 2, 3, 1, 2, 3, 2, 4]
# 排序从大到小
# 过滤相同的数,相同的个数越多,排在前面
# 个数相同,元素值大的,排在前面

No.2

# 第二题
# 题目:有1234个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# 程序分析:可填在百位、十位、个位的数字都是1234。组成所有的排列后再去掉不满足条件的排列。

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

声明: 文章著作权归作者所有,如有侵权,请联系小编删除


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Aju96DmLg4
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3951
 
569 次点击