python刷题
喝咖啡的熊
一位渴望不断变强但又有点懒惰的人。可能有些许迷茫,但是也会为自己的选择不断前行
展开
-
day 1.1如何仅用递归函数和栈操作逆序一个栈
【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为,5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现了栈中元素的逆序,但是只能用递归函数来实现,不能使用其他数据结构。【解】 1.不按题目说用递归函数的话,当然只用调用reverse()即可,略过不提。 2.递归方法分为两个部分:原创 2016-10-13 12:13:18 · 327 阅读 · 0 评论 -
【Codewars-Pyramid Slide Down】(下三角矩阵求最长路径)
在刷Codewars的时候,发现了其中有这道题,感觉大神的解法很巧妙,记录下来,希望自己以后需要的时候能快速找到吧。 【题目1】 大致就是需要找到下三角矩阵的一个最长路径吧。 【解法】 无非还是动态规划的方法,每个点只能走到该节点下方节点或者下方节点的右节点。 这里贴出大神的解法吧,自己的解法确实感觉不如别人的巧妙。def longest_s翻译 2016-10-13 22:15:12 · 629 阅读 · 0 评论 -
【LIS】python版
【题目】 常见的LIS问题而已啦 【解法】 有特点的地方也就在于用了enumerate函数了, 虽然和正常的方法可能也没有太多简略。def getLIS(self, A, n): L = [1]*n for cur,val in enumerate(A): for pre in range(cur):翻译 2016-10-13 22:54:39 · 1045 阅读 · 0 评论 -
【Codewars-snail】顺时针打印矩阵(python)
【题目】 给定一个矩阵,顺时针打印该矩阵 【解法】递归版本def snail(array): return list(array[0]) + snail(zip(*array[1:])[::-1]) if array else []非递归版本def snail(array): a = [] while array: a.extend(li翻译 2016-10-17 21:31:56 · 2006 阅读 · 1 评论 -
【拼接最小字典序字符串】(python)
【题目】 给定一个字符串类型的数组strs,请找到一种拼接顺序,使得将所有的字符串拼接起来组成的大写字符串是所有可能性中字典序最小的,返回这个大写字符串。 如:strs = [‘abc’,’de’],返回’abcde’ 【解】 假设有两个字符串a,b,a和b拼接起来的字符串表示为a.b。如果a.b的字典序小于b.a,就把字符串a放在前面,否则把字符串b放在前面。每两个原创 2016-10-19 20:45:05 · 1545 阅读 · 0 评论 -
【Codewars-求矩阵行列式】python
【题目】 求给定矩阵的行列式 【解】def det(m): if len(m) <= 0: return None if len(m) == 1: return m[0][0] else: s = 0 for i in range(len(m)):原创 2016-10-19 20:47:38 · 1133 阅读 · 0 评论 -
【Codewars-hamming(汉明数)】
【题目】 以2,3,5为底的汉明数,表示为(2^i)(3^j)(5^k),其中i,j,k为大于等于0的整数。 即汉明数的第一个为(2^0)(3^0)(5^0) = 1,第二个为2,第三个为3,第四个为4……以此类推下去。 编写程序求第n个汉明数 【解】def hamming(n): k1,k2,k3 = 0,0,0 res = [1] for原创 2016-10-19 20:52:48 · 759 阅读 · 1 评论 -
【N皇后问题】
【题目】 N皇后问题;在N*N的棋盘上摆放皇后,皇后不能被其他皇后吃掉。 【解】def num1(n): if n<1: return 0 record = [0]*n return process1(0,record,n)def process1(i,record,n): if i == n : return 1原创 2016-10-19 21:26:24 · 282 阅读 · 0 评论