怎么那么2
sjphiChina
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。
展开
-
Merge Sorted Array
针对现在的情况,我们调整了做题准备的策略,加油,大事临头向前冲,开心胸!但就是这个一个简单题,错了两次,为啥啊!!!Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You may assume that nums1 has e原创 2016-06-01 18:09:21 · 236 阅读 · 0 评论 -
Excel Sheet Column Number
这本应是一道很简单的题,自己的整体思路也是流畅的,当中却发生了两次严重的错误。。第一次,while循环是用的j,而j没有自减,于是死循环。第二次,如注释掉的那一行,k怎么能参与计算!!!!!public class Solution { public int titleToNumber(String s) { int sum = 0; if (s原创 2016-06-06 21:34:39 · 215 阅读 · 0 评论 -
Valid Sudoku
一道很基本功的问题,耗费了自己大量的时间找bug,原来bug就是,看下面public class Solution { public boolean isValidSudoku(char[][] board) { if (board == null || board.length == 0 || board[0] == null || board[0].length =原创 2016-06-06 22:54:31 · 351 阅读 · 0 评论 -
Swap Nodes in Pairs
又是基本功,链表的基本操作。注意犯错的地方/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution {原创 2016-06-07 07:54:56 · 195 阅读 · 0 评论 -
3Sum
刷遍数,当中请好好看看自己这次错的地方,这是一个如何避免重复数字的常见处理方法啊!!!!public class Solution { public List> threeSum(int[] nums) { List> results = new LinkedList<>(); if (nums == null || nums.length < 3)原创 2016-06-13 14:47:09 · 275 阅读 · 0 评论 -
Letter Combinations of a Phone Number
对于犯的那两个错误,请正视!!,尤其是第一个,否则一上来就挂了。。public class Solution { public List letterCombinations(String digits) { List results = new LinkedList<>(); if (digits == null || digits.length() == 0)原创 2016-06-14 04:40:26 · 267 阅读 · 0 评论 -
Combination Sum
这道题做成这样子。第二个错误忘加了,也就罢了,第一个是怎么想的,在list里加sum做啥的。昨晚糊涂了,怎么刚才也没看出来。这是怎么了,再痛苦,委顿也不是这样的吧!!!!!!public class Solution { public List> combinationSum(int[] candidates, int target) { List> result =原创 2016-06-15 02:46:30 · 257 阅读 · 0 评论 -
Reverse Words in a String
用string的split分割空格,对于“ a b ”,字符数组的长度不是二。要知道这个在做啥!!if (!strArray[i].equals("")) {public class Solution { public String reverseWords(String s) { if (s == null || s.length() ==原创 2016-06-15 08:10:41 · 225 阅读 · 0 评论 -
Longest Substring Without Repeating Characters
一开始自己想的太简单了,于是就2了,那个注释的代码如何处理“dvdf”这样的字符串?好吧,于是找到了一种精妙的解法,用hashmap,精妙在i = map.get(chars[i]);map.clear();好好体会,这也就罢了。但是自己接下来犯得那两个错误,是不是有些太跌份了!!是不是这两天set用多了,搞混了?????public class Solution { pub原创 2016-06-15 13:23:46 · 271 阅读 · 0 评论 -
Maximal Rectangle
多谢上一题的方案,这一题就容易多了。把每一行和它以上的部分都当做是直方图来求解。当中自己犯得错误是,当这一行的某一位置高度为0,其高度就是0,不可以再和上一行的高度相加了!public class Solution { public int maximalRectangle(char[][] matrix) { if (matrix == null) {原创 2016-07-01 08:35:40 · 207 阅读 · 0 评论 -
Ugly Number II
参考:点击打开链接根据提示中的信息,我们知道丑陋数序列可以拆分为下面3个子列表:(1) 1×2, 2×2, 3×2, 4×2, 5×2, …(2) 1×3, 2×3, 3×3, 4×3, 5×3, …(3) 1×5, 2×5, 3×5, 4×5, 5×5, …仔细观察上述三个列表,我们可以发现每个子列表都是一个丑陋数分别乘以2,3,5,而要求的丑陋数就是从已经生原创 2016-07-24 16:43:38 · 246 阅读 · 0 评论 -
Single Number III
好好看看自己的迭代史public class Solution { public int[] singleNumber(int[] nums) { Set set = new HashSet<>(); for (int i: nums) { if (!set.add(i)) { set.remove原创 2016-06-18 15:32:21 · 183 阅读 · 0 评论 -
Line Reflection
这道题我们要看清了,是平行于Y轴,而不是X轴。我知道我们很累,但也要看清楚题啊!!!public class Solution { public boolean isReflected(int[][] points) { int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE; if (points ==原创 2016-07-27 15:14:47 · 328 阅读 · 0 评论 -
Moving Average from Data Stream
一道设计题,有3点1. 一开始,自己用的是queue来做,但是发现,若想每次peek下一个值,都得先poll,这才发现当中问题,改成了list来做,可以做到get(index),所以用queue和用queue的思想来解决问题是完全不同的做法。2. 数值转换,如何从int转为double,看当中的错误3. 逻辑的bug,致命public class MovingAverage {原创 2016-06-06 18:35:39 · 762 阅读 · 0 评论 -
3Sum Smaller
这题是允许重复的数字的,因为只要保证下标满足i, j, k with 0 就好。所以不需要开始的去重!再有,这种求小于某值或是大于某值的,看好了,求数量是坐标的相减public class Solution { public int threeSumSmaller(int[] nums, int target) { if (nums == null || n原创 2016-06-23 15:56:32 · 269 阅读 · 0 评论 -
Flip Game
正确理解题意, 正确理解题意, 正确理解题意,永远都是第一重要的事情!!!一开始自己没明白到底在说啥,知道看到参考中提到,是要将‘++’换成‘--’, 而且只是换‘++’,不管其他,哦哦哦,噢噢噢。。。其实题目本身很简单public class Solution { public List generatePossibleNextMoves(String s) {原创 2016-06-06 20:31:53 · 317 阅读 · 0 评论 -
Binary Search Tree Iterator
自己能不能不要总犯下面那种那么2的错误。。嫩不能尽量明白,自己写的每段code是做啥的,能负责任!!!/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x)原创 2016-06-12 13:11:26 · 276 阅读 · 0 评论 -
Add Binary
我该怎么说呢。。。。。。现在有两种做法,1种自己刚做的,写了108行代码,循规蹈矩,1种2年前做的,写了28行代码(如果真是当时自己想出来的。。。。。。)。这个无论如何要掌握:int current = (numa+numb+carry)%2;int carry = (numa+numb+carry)/2;public String addBinary(String a,原创 2016-06-02 19:21:19 · 307 阅读 · 0 评论 -
Isomorphic Strings
这道题和word pattern几乎一样,但自己还是在做出了一次大的错误后,才意识到将set改成map来做,我们能不能从中理解到奥义了!!! public boolean isIsomorphic(String s, String t) { if (s == null) { return true; } Map se原创 2016-06-08 05:26:04 · 203 阅读 · 0 评论 -
Two Sum III - Data structure design
丢人!!!即便我们是在公司偷闲。。。。。。是否要处理重复数字?如何处理?????怎么写的这么痛苦public class TwoSum { private Map map = new HashMap<>(); public void add(int number) { if (map.containsKey(number)) {原创 2016-06-08 06:14:50 · 278 阅读 · 0 评论 -
Remove Duplicates from Sorted Array
又一道。。。。。。。我们和两年前比。。。。。。。public int removeDuplicates(int[] nums) { if (nums == null) { return 0; } if (nums.length <= 1) { return nums.length;原创 2016-06-02 23:23:04 · 275 阅读 · 0 评论 -
Move Zeroes
此题让自己做的很痛苦,本来一道leetcode上的easy题,当用两个指针求解时,却反复提交了n遍。我想说,这个充分暴露的就是我们的基本功问题。public class Solution { public void moveZeroes(int[] nums) { int p0 = 0, p1 = 0; while (p0 < nu原创 2016-06-02 11:59:53 · 331 阅读 · 0 评论 -
Two Sum
这个题也是n遍了,能不能清楚每写出的每一行code代表啥,不要蒙,不要猜,好不好!!//result[0] = map.get(target - nums[i]);这样的错误能不能不要犯!!!public int[] twoSum(int[] nums, int target) { int [] result = new int[2]; Map map =原创 2016-06-02 23:35:48 · 240 阅读 · 0 评论 -
Binary Tree Paths
这也成了基本功。。。。。。。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public cl原创 2016-06-03 12:07:49 · 181 阅读 · 0 评论 -
Copy List with Random Pointer
两次遍历。请一定要明白每次从map取出的value是啥,不要搞混啊。/** * Definition for singly-linked list with a random pointer. * class RandomListNode { * int label; * RandomListNode next, random; * RandomListNod原创 2016-06-24 22:00:55 · 241 阅读 · 0 评论 -
Valid Palindrome
之前我们做过这道题,今天还是一堆问题,不慌,不乱,要镇定,真正理解,过遍数。public boolean isPalindrome(String s) { if (s == null || s.length() < 2) { return true; } s = s.toLowerCase(); char原创 2016-06-03 19:52:14 · 218 阅读 · 0 评论 -
Nested List Weight Sum
这应是很简单最入门的dfs问题,但自己却犯了两个问题,1. 一开始自己只是想着迭代,根本没意识到是dfs问题2. 看看注释的那个bug,肉眼没发现,最后只能自己编程发现。。。。/** * // This is the interface that allows for creating nested lists. * // You should not implement it,原创 2016-06-08 22:25:20 · 405 阅读 · 0 评论 -
Shortest Word Distance
这道题自己提交了三次才通过,两次错误都是自己考虑问题的不全面1. 遇到[a, b], w1:a , w2: b怎么办,错误返回了Integer.MAX_VALUE2. 遇到[a, c, b, b, a],w1:a , w2: b怎么办, 错误返回了2,注意当中的一个性质,例如,如果pos1不是-1,pos2不是-1,当算出了dist,pos1就该一直保持更新,与dist的大小无关了,自己一原创 2016-06-08 23:36:49 · 291 阅读 · 0 评论 -
Binary Tree Level Order Traversal
层级遍历,基本功,当中能不能不要再犯一个总是忽略的问题!!!!看清楚好不好List list = new LinkedList//list.add(node);list.add(node.val);/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tr原创 2016-06-04 23:18:27 · 206 阅读 · 0 评论 -
Valid Parentheses
一道简单的不能再简单的题,自己竟然写了6遍才通过!!!!!!!!!!!!!!public class Solution { public boolean isValid(String s) { //if (s == null || s.length() < 2) { if (s == null || s.length() < 2 || s.length(原创 2016-06-04 23:41:29 · 195 阅读 · 0 评论 -
Subsets
想说的是,自己在写code的时候,请能够清楚,写的每一点代码都在代表什么,想要怎样的结果,能不能不要不过脑子的写code,能不能对每点code负责啊。看看咋错的。这个遵循模板。public class Solution { public List> subsets(int[] nums) { List> results = new LinkedList<>();原创 2016-06-10 13:18:54 · 337 阅读 · 0 评论 -
Encode and Decode Strings
一定要明白这两个错误是错在哪了!!//sb.append(str.length() + '#' + str); sb.append(String.valueOf(str.length()) + '#' + str);不能再犯了//int i = s.indexOf(start, '#'); int i = s.indexOf('#', sta原创 2016-06-23 21:03:11 · 295 阅读 · 0 评论