随笔分类 -  leetcode

上一页 1 2 3 4 5 6 7 下一页

131.Palindrome Partitioning
摘要:题目链接 题目大意:给出一个字符串,将其划分,使每个子串都是回文串,计算处所有可能的划分情况。 法一(借鉴):很明显的,是要用DFS。这个可以作为一个模板吧,就是划分字符串的所有子串的一个模板。代码如下(耗时9ms): 1 public List<List<String>> partition(St 阅读全文

posted @ 2018-04-11 15:30 二十年后20 阅读(140) 评论(0) 推荐(0)

134.Gas Station
摘要:题目链接 题目大意:一个circle圆环,第i个位置,有汽油gas[i],而汽车从i到i+1,需要汽油cost[i]。求解,从哪个位置开始,汽车能走完圆环。如果走不完则返回-1,能走完则返回index。例子如下: 法一:两个for循环。直接求解每个可能的起始位置,然后计算能否在有汽油的情况下,走完全 阅读全文

posted @ 2018-04-10 16:51 二十年后20 阅读(400) 评论(0) 推荐(0)

135.Candy---贪心
摘要:题目链接 题目大意:分糖果,每个小朋友都有一个ratings值,且每个小朋友至少都要有一个糖果,而且每个小朋友的ratings值如果比左右邻舍的小朋友的ratings值高,则其糖果数量也比邻舍的小朋友多。 法一:超时。按照要求,从前往后比较每个小朋友的ratings值,如果后一个小朋友的rating 阅读全文

posted @ 2018-04-08 15:10 二十年后20 阅读(239) 评论(0) 推荐(0)

147.Insertion Sort List---链表排序(直接插入)
摘要:题目链接 题目大意:对链表进行插入排序。 解法:直接插入排序。代码如下(耗时40ms): 1 public ListNode insertionSortList(ListNode head) { 2 ListNode first = new ListNode(0); 3 ListNode pre = 阅读全文

posted @ 2018-04-04 09:23 二十年后20 阅读(156) 评论(0) 推荐(0)

148.Sort List---链表排序(冒泡、归并)
摘要:题目链接 题目大意:对链表进行排序,要求时间复杂度是o(nlgn)。 法一:冒泡,不交换结点,而交换结点中的数值。超时了。代码如下: 1 public ListNode sortList(ListNode head) { 2 if(head == null || head.next == null) 阅读全文

posted @ 2018-04-02 11:41 二十年后20 阅读(186) 评论(0) 推荐(0)

150.Evaluate Reverse Polish Notation---逆波兰式求值
摘要:题目链接 题目大意:计算逆波兰表达式的值。 法一:stack,用stack存数,遇到操作符,则运算。代码如下(耗时12ms): 1 public int evalRPN(String[] tokens) { 2 Stack<Integer> s = new Stack<Integer>(); 3 f 阅读全文

posted @ 2018-03-16 09:40 二十年后20 阅读(121) 评论(0) 推荐(0)

111.minimum depth of binary tree
摘要:题目链接:https://leetcode.com/problems/minimum-depth-of-binary-tree/description/ 题目大意:求解二叉树的最小高度。 法一:BFS。新写一个class,承接TreeNode和当前结点高度。代码如下(耗时6ms): 1 static 阅读全文

posted @ 2018-03-14 10:33 二十年后20 阅读(194) 评论(0) 推荐(0)

44.Wildcard Matching
摘要:题目链接:https://leetcode.com/problems/wildcard-matching/description/ 题目大意:通配符匹配,与第10题的正则匹配类似,规则有所区别。'?'可以代替任意一个字符,'*'可以代替任意一个字符串。 法一(借鉴):略难,不是特别懂。解释:http 阅读全文

posted @ 2018-03-12 10:44 二十年后20 阅读(174) 评论(0) 推荐(0)

69.Sqrt(x)
摘要:题目链接:https://leetcode.com/problems/sqrtx/description/ 题目大意:实现求平方根。 法一:直接库函数。代码如下(耗时39ms): 1 public int mySqrt(int x) { 2 double res = Math.sqrt(x); 3 阅读全文

posted @ 2018-03-09 15:39 二十年后20 阅读(195) 评论(0) 推荐(0)

28.Implement strStr()---kmp
摘要:题目链接:https://leetcode.com/problems/implement-strstr/description/ 题目大意:字符串匹配,从字符串中,找到给定字符串第一次出现的位置下标,并返回。 法一:暴力,两个for循环,逐一比较每一个可能的字符串,一旦找到,则返回。代码如下(耗时5 阅读全文

posted @ 2018-03-09 11:05 二十年后20 阅读(122) 评论(0) 推荐(0)

26.Remove Duplicates from Sorted Array
摘要:题目链接:https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/ 题目大意:删除有序数组中重复的数值。 法一:利用27题的法一,保留不重复的值,记录留下的数组值的下标。代码如下(耗时13ms): 1 阅读全文

posted @ 2018-03-09 09:43 二十年后20 阅读(107) 评论(0) 推荐(0)

27.Remove Element---两指针
摘要:题目链接:https://leetcode.com/problems/remove-element/description/ 题目大意:给出一个数组和一个值,从数组中删除与当前值相等的值,并将数组长度返回,最终数组中元素的顺序可以不保持原顺序,也就是允许排序。 法一:反向思考,不直接删除值,而是将不 阅读全文

posted @ 2018-03-09 09:11 二十年后20 阅读(115) 评论(0) 推荐(0)

14.Longest Common Prefix
摘要:题目链接:https://leetcode.com/problems/longest-common-prefix/description/ 题目大意:找出字符串数组的最长公共前缀。与 法一:竖向比较,也就是对于每个字符串,都对应的比较对应下标的字符,一旦不等,则公共前缀到此结束。代码如下(耗时12m 阅读全文

posted @ 2018-03-08 15:24 二十年后20 阅读(166) 评论(0) 推荐(0)

628.Maximum Product of Three Numbers
摘要:题目链接:https://leetcode.com/problems/maximum-product-of-three-numbers/description/ 题目大意:从一个数组中选取三个数,使其乘积最大。 法一:直接排序后取最大值即可。代码如下(耗时30ms): 1 public int ma 阅读全文

posted @ 2018-03-07 19:53 二十年后20 阅读(131) 评论(0) 推荐(0)

152.Maximum Product Subarray---dp---连续子数组的最大乘积---《编程之美》2.13子数组的最大乘积
摘要:题目链接:https://leetcode.com/problems/maximum-product-subarray/description/ 题目大意:给出一串数组,找出连续子数组中乘积最大的子数组的乘积。 法一:暴力。竟然能过,数据也太水了。两个for循环,遍历每一个可能的连续子数组,找出最大 阅读全文

posted @ 2018-03-07 19:28 二十年后20 阅读(166) 评论(0) 推荐(0)

91.Decode Ways---dp
摘要:题目链接:https://leetcode.com/problems/decode-ways/description/ 题目大意:将给出的字符串解码,问有多少种解码方式。解码按照“ABC...Z"->1,2,3...26进行。比如”12“有两种解码方式:1 2(A B),12(L)。 法一(借鉴): 阅读全文

posted @ 2018-03-07 11:14 二十年后20 阅读(142) 评论(0) 推荐(0)

57.Insert Interval
摘要:题目链接:https://leetcode.com/problems/insert-interval/description/ 题目大意:给处一个list,里面是按start排好序的非重叠区间,插入一个区间,将重叠区间合并。可见56题。 法一(借鉴):不用排序直接比较更新。由于初始就是排好序的非重叠 阅读全文

posted @ 2018-03-06 11:18 二十年后20 阅读(132) 评论(0) 推荐(0)

56.Merge Intervals---贪心---《编程之美》2.19区间重合判断
摘要:题目链接:https://leetcode.com/problems/merge-intervals/description/ 题目大意:给出一串list,里面装interval类,这个类里有start和end两个属性,表示起始点和结束点,如果前面interval的结束点>后面interval的起始 阅读全文

posted @ 2018-03-06 09:52 二十年后20 阅读(168) 评论(0) 推荐(0)

59.Spiral Matrix II
摘要:题目链接:https://leetcode.com/problems/spiral-matrix-ii/description/ 题目大意:构造蛇形矩阵。 法一:模板模拟。代码如下(耗时2ms): 1 public int[][] generateMatrix(int n) { 2 int[][] 阅读全文

posted @ 2018-03-05 11:31 二十年后20 阅读(122) 评论(0) 推荐(0)

54.Spiral Matrix
摘要:题目链接:https://leetcode.com/problems/spiral-matrix/description/ 题目大意:给一个数组,蛇形存入list后返回。 法一:模板模拟,注意的是这里给的数组,不一定是n*n的,所以要根据行和列分别计算。代码如下(耗时3ms): 1 public L 阅读全文

posted @ 2018-03-05 10:18 二十年后20 阅读(152) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 下一页

导航