![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 69
souldak
爱工作爱生活
展开
-
leetcode解析回文子串拆分
转载请注明来自souldak,微博:@evagleGiven a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.For example, given s = "aab",原创 2013-09-06 20:28:36 · 2126 阅读 · 0 评论 -
leetcode Single Number II
转载请注明来自souldak,微博:@evagleSingle Number 比较简单,直接异或即可。这题除了一个数只有一个,其他的都有三个,不能直接异或了。但是本质上道理是相同的,其他数有两个的时候,用异或将这个数消除,那现在就得想办法将三个数消除。先简单来看,如果只有3个1,用ones记录MOD3之后为一的,twos记录MOD3之后余2的情况,threes 是MOD3=0原创 2014-03-11 17:01:27 · 3768 阅读 · 0 评论 -
leetcode LRUCache
转载请注明来自souldak,微博:@evagle接口就两个,get和set。但是第一次写TLE,开始用的是单链表,单链表有个不好的地方是,容量满了之后,要删除最后一个元素会及其困难,必须从表头开始遍历。为了不遍历,必须使用双向链表,然后记录链表结尾。然后还有一个可以改进的地方是:get的时候,为了不从头开始扫描,用HashMap记录所有元素的引用。直接从Hashmap中取,O(1原创 2014-03-06 10:26:31 · 1366 阅读 · 0 评论 -
leetcode - Max Points on a Line
转载请注明来自souldak,微博:@evagle这题没想到有没有更快的方法。简单的做法是,对于每一个点,计算它所在的所有直线中,点最多的直线上点的个数。然后从中选择最大的。这题有两个点要注意:1. 可能有重复的点 2. java中,double的0值问题,d1=0/-1,d2=0/1,这原创 2014-03-02 19:50:35 · 1042 阅读 · 0 评论 -
python整除问题-leetcode-Evaluate Reverse Polish Notation
python的除法很特殊,和java以及c++不同,如果除数与被除数符号相同,那么结果是一样的,取下整。但是当符号不同时,python还是向下取整,比如真是结果是-0.1,python得出的结果是-1,二java以及c++得出的是0leetcode-Evaluate Reverse Polish Notation这题就是这种情况,如果用python实现,必须要特殊处理除法的情况。原创 2014-03-02 16:02:02 · 2849 阅读 · 0 评论 -
leetcode 最长连续序列 longest consecutive sequence
转载请注明来自souldak,微博:@evagle题目(来自leetcode):给你一个n个数的乱序序列,O(N)找出其中最长的连续序列的长度。例如给你[100, 4, 200, 1, 3, 2],那么最长的连续序列为[1, 2, 3, 4],所以返回4。思路:最简单直接的想法是:将数组排序,然后扫一遍排好序的序列,从中找出最长的即可,这样的话时间是O(nlogn)+O(n原创 2013-09-09 12:01:08 · 10082 阅读 · 6 评论 -
leetcode Sum Root to Leaf Numbers(所有路径之和)
转载请注明来自souldak,微博:@evagle观察题目给的返回值类型是int,可以断定这棵树的高度不会超过10,所以数据量其实是非常小的。那就直接dfs遍历这棵树,然后到叶子节点的时候将值加到最终结果上就OK了。思路非常之简单就不详述了。直接上代码:class Solution { public: int sumNumbers(Tr原创 2013-09-08 21:59:20 · 2243 阅读 · 0 评论 -
leetcode Surrounded Regions 详解
转载请注明来自souldak,微博:@evagle其实这道题非常思路简单,bfs或者dfs找到所有连在一起的O,如果这些O中有一个挨着边,那就不变,否则就是被surrounded的,全部变成X就行但是很久没写bfs导致了入队的时候没有判重,导致了大量的点入队超过1次。所以Large dataset时就TLE了。判重之后轻松通过,64ms。不多说了,直接上代码:/** *原创 2013-09-07 14:40:51 · 15142 阅读 · 0 评论 -
leetcode回文子串拆分-最小拆分次数
转载请注明来自souldak,微博:@evagle上一篇是要输出所有的可能拆分,这回是要输出拆分次数最少的切割次数。如果直接按照上一篇那么做的话,就会超时,因为我们在判断s[i][j]是否是回文的时候做了很多的无用功,每一个s[i][j]都用字符串计算了一遍,然而实际上可以根据s[i+1][j+1]推算出来的。题目。代码如下/** * @file Palindrome_P原创 2013-09-06 20:38:27 · 1738 阅读 · 0 评论 -
leetcode two sum
Two Sum [ sourcecode | problem ]这个题目看上去很简单,就是在一堆数里面找两个数,使得他们的和为给定的值。但是,其实这个题目要求比较高,而且坑很多。首先如果想要AC,普通的暴力枚举是不行的,因为时间复杂度是O(n^2)。那还有两种方法:先排序,O(nlgn),然后遍历每个元素v,计算target-v,然后二分搜索target-v,不过因为需原创 2014-12-08 14:14:52 · 1226 阅读 · 0 评论