leetcode
文章平均质量分 64
mars2014jia
这个作者很懒,什么都没留下…
展开
-
two sum 攻
I 非排好序,最快O(n), 用hashmap解决public class Solution { public int[] twoSum(int[] numbers, int target) { int[] res = new int[2]; HashMap hm = new HashMap(); if(numbers==null |转载 2015-04-04 04:18:20 · 218 阅读 · 0 评论 -
Letter Combinations of a Phone Number
public class Solution { String[] keybd ={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; // http://www.cnblogs.com/springfor/p/3879829.html public ArrayList letterCombinations转载 2015-03-11 03:13:12 · 177 阅读 · 0 评论 -
Construct Binary Tree from Preorder and Inorder Traversal
ref: http://www.cnblogs.com/springfor/p/3884034.html 解释的很详细public class Solution { public TreeNode buildTree(int[] preorder, int[] inorder) { if(preorder==null|| inorder==null) return nu转载 2015-03-12 04:10:41 · 245 阅读 · 0 评论 -
Simplify Path
熟悉数据结构,linkedlist stack, string.split 等等public class Solution { public String simplifyPath(String path) { // ref http://www.cnblogs.com/springfor/p/3869666.html if(path == null |转载 2015-03-18 00:43:23 · 200 阅读 · 0 评论 -
Construct Binary Tree from Inorder and Postorder Traversal
通类似 Construct Binary Tree from Preorder and Inorder Traversal(ref http://www.cnblogs.com/springfor/p/3884035.htmlpublic class Solution { public TreeNode buildTree(int[] inorder, int[] po转载 2015-03-12 04:33:21 · 238 阅读 · 0 评论 -
Generate Parentheses
相关知识 http://blog.csdn.net/wuzhekai1985/article/details/6764858public class Solution { public ArrayList generateParenthesis(int n) { //ref http://blog.csdn.net/linhuanmars/article/de转载 2015-03-11 01:28:35 · 273 阅读 · 0 评论 -
Binary Tree Zigzag Level Order Traversal
1, 注意collections.reverse 指令2, 注意current level 和next level的识别标记3, bfs 在这里利用的queue的特性: fifo。ref :http://www.cnblogs.com/springfor/p/3891393.html/** * Definition for binary tree * publi转载 2015-03-12 00:42:07 · 148 阅读 · 0 评论 -
BM 算法和dp算法,不理解的题目
要多看看dp //一下答案完全不懂 public int numDistinct(String S, String T) { int[][] dp = new int[S.length() + 1][T.length() + 1]; dp[0][0] = 1;//initial for(int j = 1; j转载 2015-03-22 08:21:18 · 386 阅读 · 0 评论 -
Reverse Linked List II
// ref // http://blog.csdn.net/linhuanmars/article/details/24613781难点,多指针操作public class Solution { public ListNode reverseBetween(ListNode head, int m, int n) { ListNode dummy = new L转载 2015-03-13 04:12:16 · 209 阅读 · 0 评论 -
Longest Substring Without Repeating Characters
public class Solution { //ref http://blog.csdn.net/linhuanmars/article/details/19949159 很精妙的解法哟 public int lengthOfLongestSubstring(String s) { if(s==null || s.length()<1转载 2015-03-11 04:12:50 · 208 阅读 · 0 评论 -
Edit Distance
public class Solution { public int minDistance(String word1, String word2) { // 题意讲解的很好http://www.cnblogs.com/springfor/p/3896167.html // 关于初始数组的设计!长度,第一行第一列什么的 in转载 2015-03-21 07:48:32 · 203 阅读 · 0 评论 -
Pow(x, n)
理解下题目的深层含义ref // ref http://www.cnblogs.com/springfor/p/3870929.html public double pow(double x, int n) { return n>=0 ? power(x,n): 1/power(x,-n); } public doub转载 2015-03-17 07:07:42 · 156 阅读 · 0 评论 -
Divide Two Integers
1) 加速-减速过程,先减去最大的b^power, 然后减小点的b^pow2) 移位判断符号3) 各种数据类型是long还是intref http://blog.csdn.net/perfect8886/article/details/19092179ref http://www.cnblogs.com/springfor/p/3871008.htmlpublic cl转载 2015-03-17 08:32:02 · 208 阅读 · 0 评论 -
Next Permutation
这个题目不明白意义何在,如果记不住做法就兮兮了ref http://www.cnblogs.com/springfor/p/3896245.htmlref http://blog.csdn.net/m6830098/article/details/17291259ref http://fisherlei.blogspot.com/2012/12/leetcode-next-pe转载 2015-03-17 06:47:08 · 201 阅读 · 0 评论 -
3sum
ref http://www.cnblogs.com/springfor/p/3859670.html public ArrayList> threeSum(int[] num) { ArrayList> res = new ArrayList>(); if(num==null || num.length转载 2015-03-09 12:34:10 · 163 阅读 · 0 评论 -
Insert Interval
最后一个元素的处理是关键,要记得移动完成后加上去 public ArrayList insert(ArrayList intervals, Interval newInterval) { // 跟之前那道题一样嘛 不要那么麻烦http://www.cnblogs.com/springfor/p/3872333.html ArrayList res =转载 2015-03-21 06:47:29 · 221 阅读 · 0 评论 -
Palindrome Partitioning
package leetCode;import java.util.ArrayList;public class Palindrome { public static ArrayList> partition(String s) { // 根据打印出来的结果不能使用如下dp方法 ref http://www.programcreek.co转载 2015-03-10 11:52:19 · 190 阅读 · 0 评论 -
Recover Binary Search Tree
重点1 inorder2 怎么用O(1)的space, 必然是用tmp的指针做swapref http://www.cnblogs.com/springfor/p/3891390.htmlpublic class Solution { TreeNode first, pre, second; public void recoverTree(TreeNode root转载 2015-03-21 05:26:26 · 200 阅读 · 0 评论 -
Merge Intervals
ref http://www.cnblogs.com/springfor/p/3872332.html1) 要先排序,按照start, 怎么写comparator是关键 class IntervalComparator implements Comparator {2) 然后按照end 在主程序里merge,public class Solution { // ref转载 2015-03-21 05:43:18 · 243 阅读 · 0 评论 -
Count and Say
public class Solution { //dfs 算法还待写吧 http://www.cnblogs.com/huntfor/p/3849547.html public String countAndSay(int n) { if(n<=0) return null; String s = "1"; in转载 2015-03-13 10:14:53 · 202 阅读 · 0 评论 -
Restore IP Addresses
// 解题 ref http://bangbingsyb.blogspot.com/2014/11/leetcode-restore-ip-addresses.html引用原文一个有效的IP地址由4个数字组成,每个数字在0-255之间。对于其中的2位数或3位数,不能以0开头。所以对于以s[i]开头的数字有3种可能:1. s[i]2. s[i : i+1转载 2015-03-13 05:25:09 · 199 阅读 · 0 评论 -
天题之 Median of Two Sorted Arrays
public class Solution { public double findMedianSortedArrays(int A[], int B[]) { //直接没什么想法,看了答案也觉得万万想不到 ref http://www.cnblogs.com/springfor/p/3861890.html, http://blog.csdn.net/linhuanmar转载 2015-04-02 07:33:29 · 245 阅读 · 0 评论 -
Maximal Rectangle
几个神奇的题目都是用这种 O(n)的算法出来的, 核心思想就是,“比我好的都算了”Largest Rectangle in Histogram Longest Valid Parentheses Maximal Rectanglerefhttp://blog.csdn.net/linhuanmars/article转载 2015-03-24 07:28:47 · 272 阅读 · 0 评论 -
Longest Valid Parentheses
public class Solution { public int longestValidParentheses(String s) { // http://blog.csdn.net/linhuanmars/article/details/20439613 if(s ==null || s.length()<2) return 0;转载 2015-03-24 04:21:46 · 236 阅读 · 0 评论 -
Largest Rectangle in Histogram
ref http://www.cnblogs.com/lichen782/p/leetcode_Largest_Rectangle_in_Histogram.html弹栈天题public class Solution { public int largestRectangleArea(int[] height) { int i = 0; int re转载 2015-03-24 05:56:40 · 188 阅读 · 0 评论 -
大数操作 Fraction to Recurring Decimal
1) 关于怎么变换大数字错误的点 ref https://leetcode.com/discuss/27159/my-java-solutionpublic class Solution { public String fractionToDecimal(int numerator, int denominator) { // 我觉得特别清晰受益的一个解法https转载 2015-04-01 06:43:29 · 215 阅读 · 0 评论 -
House Robber
public class Solution { public int rob(int[] num) { // https://leetcode.com/discuss/30020/java-o-n-solution-space-o-1 不是很理解 int prevNo = 0; int prevYes = 0; for (int n : num) {转载 2015-04-01 09:14:03 · 217 阅读 · 1 评论 -
天题之reverse list
最后那个reverse函数写的比较费劲,主要是pre.next 和last.next必须指向正确位置ref 解释 http://www.cnblogs.com/lichen782/p/leetcode_Reverse_Nodes_in_kGroup.htmlref 代码 http://www.cnblogs.com/springfor/p/3864530.htmlpublic clas转载 2015-03-25 16:28:03 · 222 阅读 · 0 评论 -
天题之Regular Expression Matching
反正我是想不出来注意几个case的情况public class Solution { public boolean isMatch(String s, String p) { // 反正我是想不出来 http://www.cnblogs.com/springfor/p/3893593.html if(p.length()==0) return s.l转载 2015-04-01 12:30:15 · 229 阅读 · 0 评论 -
Best Time to Buy and Sell Stock IV
public class Solution { public int maxProfit(int k, int[] prices) { // 这道题我有很大疑惑 ref http://blog.csdn.net/linhuanmars/article/details/23236995 // ref http://www.cnblogs.com/EdwardL转载 2015-04-02 05:29:05 · 233 阅读 · 0 评论 -
Rotate List
做个circle ,看讨论来的关键是怎么找到从哪里切,最后个循环的条件 len - k%lenpublic class Solution { public ListNode rotateRight(ListNode head, int k) { if(head==null || head.next == null ||k==0) return head;原创 2015-03-18 11:20:27 · 195 阅读 · 0 评论 -
Largest Number
ref: http://blog.csdn.net/whuwangyi/article/details/42705317但是不理解最后如果出现 0000 状况为啥要用那么复杂的判断,所以简化了codepublic class Solution { public class StringComparator implements Comparator{ //@ov原创 2015-03-13 13:44:14 · 246 阅读 · 0 评论 -
Find Peak Element
二分法查找 O(lgN)注意各种边界条件public class Solution { public int findPeakElement(int[] num) { // binary search http://siddontang.gitbooks.io/leetcode-solution/content/array/find_peak_element.htm原创 2015-03-14 02:38:05 · 175 阅读 · 0 评论 -
Evaluate Reverse Polish Notation
public class Solution { public int evalRPN(String[] tokens) { // reference http://joycelearning.blogspot.com/2014/03/leetcode-evaluate-reverse-polish.html if(tokens==null || tokens转载 2015-03-14 08:54:00 · 187 阅读 · 0 评论 -
Sudoku Solver
1) n queen 问题,2) 说实话不理解 for(int r=i/3*3; r for(int cl=j/3*3; clref http://www.cnblogs.com/springfor/p/3884252.htmlpublic class Solution { public void solveSudoku(char[][]转载 2015-03-31 03:12:25 · 212 阅读 · 0 评论 -
Reorder List
1) 怎么写reverse linkedlist 逻辑图 http://www.geeksforgeeks.org/write-a-function-to-reverse-the-nodes-of-a-linked-list/2) 注意first half和second half 都要有null 结尾ref http://www.cnblogs.com/springfor/p/386933转载 2015-03-18 09:02:07 · 291 阅读 · 0 评论 -
Valid Sudoku
最后那个block search值得想想此外比hashset or map简单refhttp://blog.csdn.net/linhuanmars/article/details/20748171public class Solution { public boolean isValidSudoku(char[][] board) { //http:/转载 2015-03-31 04:05:12 · 179 阅读 · 0 评论 -
Trapping Rain Water 双扫
public class Solution { //http://fisherlei.blogspot.com/2013/01/leetcode-trapping-rain-water.html 双扫 public int trap(int[] A) { if (A.length<=2) return 0; int crtV = 0, re转载 2015-03-31 05:02:44 · 216 阅读 · 0 评论 -
Candy 双扫
Candyref//http://www.cnblogs.com/springfor/p/3877120.html //Trapping Rain Water public class Solution { public int candy(int[] ratings) { /转载 2015-03-31 05:14:32 · 226 阅读 · 0 评论 -
Sqrt(x)
1) 二分法的应用2) 关于不能开方的数,要返回什么ref http://www.cnblogs.com/springfor/p/3857772.htmlpublic class Solution { public int sqrt(int x) { // 巧妙使用二分法 // ref http://www.cnblogs.com转载 2015-03-17 07:23:34 · 250 阅读 · 0 评论