微信号:PythonTZXY

介绍:每天更新,更新python相关的知识.希望诸君有所收获!

Python精选面试题

2017-10-29 15:54 BigJeffWang


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

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

 
Python学习交流 更多文章 Python基础:多线程编程 小测试:你是“保守派程序员”还是“自由派程序员” 每天叫醒我的:不是闹钟,而是梦想! Python3实现简单可学习的手写识别 关于Python你想说些什么?
猜您喜欢 细数那些精彩纷呈的引导页 - 腾讯ISUX 大神那么多,我们努力的意义在哪里? Python软件测试 HTML5对比原生开发APP谁更胜一筹 干货 | 如何有效避免IDC故障,腾讯云专家谈IDC联合运营经验