摘要: 前言 的确,我一开始的时候也认为二分查找挺简单的,但是在我对二分查找进行总结的时候,发现虽然思路很简单,但是代码要写的正确就不容易了。 区间 需要注意的是 注意计算的区间是左闭右开区间[)还是左闭右闭区间[],两者的代码是不太一样的。 左闭右闭区间 如果说你使用的是左闭右闭区间: int searc 阅读全文
posted @ 2017-09-16 17:59 banananana 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: Longest Valid Parentheses 最长有效括号数 动态规划 思路:看到这道题,首先想到的是动态规划,然后想用之前做最长回文串的思路来做,但是后来发现它的括号并不一定是嵌套的,比如()(),这种情况下用之前的方法就不行了。 假定dp[i]表示从下标i开始到字符串最后构成的最长回文串的 阅读全文
posted @ 2017-09-16 16:00 banananana 阅读(460) 评论(0) 推荐(0) 编辑
摘要: Unique Binary Search Trees II 唯一二叉树2 思路:利用回溯的思想,以其中一个值作为根结点,两边分别作为左结点和右结点的值。 class Solution(object): def generateTrees(self, n): """ :type n: int :rty 阅读全文
posted @ 2017-09-16 13:43 banananana 阅读(128) 评论(0) 推荐(0) 编辑
摘要: Unique Binary Search Trees 唯一BST数量 思路:这道题如果不知道卡特兰数的话是做不出的,它的思想为结点个数为n的二叉树数量为左结点数量和右结点数量的乘积之和。 class Solution(object): def numTrees(self, n): """ :type 阅读全文
posted @ 2017-09-16 13:13 banananana 阅读(242) 评论(0) 推荐(0) 编辑
摘要: Python风格规范 整理自Google开源项目指南 分号 行长度 不要使用反斜杠连接行,可以使用圆括号来连接; # True x = ('This will build a very long long ' 'long long long long long long string') URL可以 阅读全文
posted @ 2017-09-16 01:21 banananana 阅读(511) 评论(0) 推荐(1) 编辑