自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 写在今天签下Google offer

2015年十二月还能依稀回忆起,我的第一次Google面试,拿到校园面试时候的欣喜雀跃,仿佛拿到了offer一般。俩轮on campus面试磕磕绊绊但是都通过了。在mountain view 总部的onsite,四年过去了,我还能清晰的记得每一个细节。Onsite发挥优良,feedback all positive离Google近在迟尺。然而,因为HR onsite面试只给我安排了3轮正...

2019-11-16 04:14:49 1288 1

原创 the gate of destiny is open...

时隔一年。难以置信毕业已经一年了。明天二战 goole onsite。 一年了。 我可以失败一次,俩次,三次。 但是我绝不允许自己害怕失败,一次也不允许。you are never prepared well enough, the best chance is always now.工作一年,也没有刻意的做算法题目,虽然断断续续的也在看一些题,回顾一些题。 自己的基础

2016-12-19 04:11:02 403

原创 one more shot another round

I am back ~~~~~~~~~~~~Yesterday is my university commencement. I am so grateful to be there and I am fulfilled with energy and hope once again.Life is not just about a job and working should be be

2016-05-19 22:02:09 539

原创 Substring with Concatenation of All Words

Substring with Concatenation of All WordsYou are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenatio...

2015-11-15 04:15:23 371

原创 Heapify

Medium HeapifyGiven an integer array, heapify it into a min-heap array.For a heap array A, A[0] is the root of heap, and for each A[i], A[i * 2 + 1] is the left child of A[i] and A[i * 2 + 2

2015-11-09 07:08:36 551

原创 [LintCode]Find Median of Unsorted Array O(n) quick sort

Easy MedianShow result 21%AcceptedGiven a unsorted array with integers, find the median of it. A median is the middle number of the array after it is sorted. If there are e

2015-11-07 11:02:56 647

原创 [LintCode]Submatrix Sum

Given an integer matrix, find a submatrix where the sum of numbers is zero. Your code should return the coordinate of the left-up and right-down number.ExampleGiven matrix[ [1 ,5 ,7]

2015-11-03 01:12:13 1655

原创 [LintCode]Count of Smaller Number before itself

Give you an integer array (index from 0 to n-1, where n is the size of this array, value from 0 to 10000) . For each element Ai in the array, count the number of element before this element Ai is

2015-11-02 23:11:14 1242 1

原创 [LintCode]Coins in a Line

//启发根源来自于这个题目version2。在version2的基础上,如何能够发现version3的类似解法。 //题目 //There are n coins with different value in a line. //Two players take turns to take one or two coins from left side until

2015-10-31 10:17:32 594

原创 [LeetCode]Serialize and Deserialize Tree

//The build-tree method basically is how to re-generate binary tree based on pre-order arraypublic class Codec { private static final String spliter = ","; private static final String NN

2015-10-30 08:54:21 395

原创 [LeetCode] Add and Search Word - Data structure design

这个题是trie 的一个应用。里面search时候, 的这个back track + divide&conquer  用的比较巧。关于back track 和 divide & conquer  二者既要区分又要联系, 不受制于思维才能发散思维public class WordDictionary { public class Node{ char

2015-10-16 22:52:33 447

原创 [LeetCode]One Edit Distance

//现在做题做了这么多了,凡是难做对多题目,俩类。 一类是方法很隐藏,不容易想到,要拐个弯。这类很tricky,要求经验和灵活性。 //第二类,题目清楚,思路很容易察觉,但是容易察觉却不同意看到全面,急于下手往往自乱阵脚。这类题要求耐心和洞察力。//这个题目,就是典型的第二类。下面解法是一种 O(1)space的最优解//这个题更为直观的方法需要用到额外space 可以用map计数来做

2015-10-13 23:25:29 281

原创 Local & Global

这个篇章整理一些题目,用到了local 与 global 变量的交替更新。 目前一下子能想到的有那么三五道,边遇到边更新。这是始作俑者//本质上这俩个题是一致的。//所谓local_max 就是指截止的点一定是限制在local那个i的,起始点是不限制的。//local的更新面临的问题就是--另起炉灶。 一旦继承而来的之前部分起到了负作用,就另起炉灶。

2015-10-12 02:16:09 559

原创 [Index]ZigZag Conversion

Good Luck//这道题是cc150里面的题目了,其实比较简单,只要看出来他其实每个zigzag是2*m-2个字符就可以,//这里m是结果的行的数量。接下来就是对于每一行先把往下走的那一列的字符加进去,然后有往上走的字符再加进去即可。//时间复杂度是O(n),空间复杂度是O(1),代码如下public String convert(String s, int nRows) {

2015-09-23 04:11:46 266

原创 [Index]Search in Rotated Sorted Array series

Good Luck !//(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).//You are given a target value to search. If found in the array return its index, otherwise return -1.//Duplicate Allowed!public

2015-09-23 03:52:43 302

原创 [LeetCode]Sudoku Solver

这个题竟然之前没整理。。 backtracking都很好都题目。 多看几遍。 改进了之前点答案,helper 里面先判断是否为空更便于理解public class Solution { public void solveSudoku(char[][] board) { if(board == null || board.length != 9 || board[0]

2015-09-23 01:57:02 229

原创 [LeetCode]Different Ways to Add Parentheses

这个题以前应该整理过,divide and conquer的方法很巧妙的fit in  public List diffWaysToCompute(String input) { HashSet set = new HashSet(); set.add('+'); set.add('*'); set.add

2015-09-21 05:01:33 283

原创 [Index]Binary Tree Iterative Traversal

public List preorderTraversal(TreeNode root) { Stack stack = new Stack(); List res = new ArrayList(); TreeNode node = root; while(node != null || !stack.i

2015-09-21 02:00:45 352

原创 [LeetCode]Sliding Window Maximum

忘记这个题上次做有没有整理了,第二遍做又没有做出来。 这个题必须用额外空间建一个deque,因为在加入新的元素进入window时候, 是从后向前 把小于新元素的值对应的index pop掉的, public int[] maxSlidingWindow(int[] nums, int k) { LinkedList deque = new LinkedList();

2015-09-17 05:20:38 275

原创 [LeetCode]LRU Cache

一道很好的题目。也是从这俩天开始,对于面试的准备加入了Java 语言基础这一部分。 而这个题目,是一个很好的特殊功能多class的设计实现题代码主要思路参考code ganker的代码,其中做了一些小的改动未来更好理解。//这个题目,重点体会大是LRUCache这个class的设计思想。public class LRUCache { class node{

2015-09-14 01:25:45 338

原创 [LeetCode]Course Schedule ||

Course Schedule II: ****Cited From Yu's Coding Garden"Analysis:This is a classic Graph topology sorting problem, but an easy version. We don't have to store the sort, in

2015-09-09 23:00:23 307

原创 LeetBoss

这篇博客里记录十个,让我最难做对的LeetCode的题目的最好的解法。有很多题目取巧但是实现相对简单,虽然思路很难想,很棒,但是做过一遍就难度大减。有些题目则不然,思路生僻,实现繁琐,做三五遍,回头就忘。抑或是总是心里有个坎,看到题目就算知道大致思路也要发愁。希望这一遍整理能突破这类老大难。在面试中一遇原题一气呵成。BOSS 1 : Word LadderGiven two

2015-09-08 02:49:54 575

原创 [LeetCode]Longest Consecutive Sequence

Longest Consecutive Sequence  : ***这道题并不难,但是很巧。有一个性质是突破口,连续的数字,只会出现在一个连续点数字序列中。这是O(n)的关键。所以我们可以之扫一遍。然后数据结构用的是set,因为我们这里要根据值来删除对应元素,而且不记录重复值。附code ganker 的解释“通俗一点说就是先把数字放到一个集合中,拿到一个数字,就往其

2015-09-05 06:30:20 208

原创 [LeetCode]Kth Smallest Element in a BST

Kth Smallest Element in a BST : **这个题目,俩种方法都不错。都是练习了我的盲点。//Method 1 Binary Search//helper用到了返回一棵树的node 数的小方法//主题核心思想是binary search,非常类似于用quick sort 找kth element in unsorted array 那个题目。 个人很喜欢

2015-09-05 04:24:49 298

原创 [LeetCode]Search a 2D Matrix ||

Search a 2D Matrix II这个题,跟之前做的一道找kth  element in 2 sorted array  神似。都是每次去除1/4 。这一个去除部分更好理解一些。有一点容易出错,假如我们要去除左上角, ----------||||-----------||||-----------红线是

2015-09-02 00:16:12 244

原创 [LeetCode]Kth Largest Element in an Array

Kth Largest Element in an Array经典题目,quicksort 是O(n),没想明白。。。觉得还是on average在做2分啊heap 方法是 n*O(k)import randomclass Solution: # @param {integer[]} nums # @param {integer} k

2015-09-01 07:15:23 257

原创 [LeetCode]Pow(x,n)

Divide and Conque 。 二分法。 recursion巧妙的重复处理子问题。这是这个题最好的版本。这个题如果返回值不在 n==0 处返回 1, 会多出来很多判断情况。背过这个方法,毕竟典型题目。原题链接public class Solution { public double myPow(double x, int n) { if

2015-09-01 05:57:26 270

原创 [LeetCode]Different Ways to Add Parentheses

Different Ways to Add Parentheses挺喜欢这个题目,练的点比较多。核心思想还是recursion,因为这个题子问题很明显是母问题的重复。public class Solution { public List diffWaysToCompute(String input) { List opt = new Arra

2015-09-01 05:07:01 309

原创 Dynamic Programming

原本计划9月前突击完成190题第二遍。今天临时决定把九月最后一天半改做DP专题。终点在string DP也就是说在第二遍未完成前,会重做String 里 遇到但DP题目。这一类题目,难攻克,耗时长,做一遍俩遍很快就忘。 希望这一遍整理,能有长足长进。这是算法里都一块大骨头,一定要啃下来。Word Break  : ****这个题目的DP, 和 Palindr

2015-08-30 07:41:27 575

原创 Linked List

String一章节墨迹了六七天。后面AC15 以下的题目不做了,没有什么启发性,都是些就题论题,又很难想,实现繁琐的题目。目前时间紧张,要提升到更重要的方面还有很多,所以果断跳过了。 下周重做String(AC 28 -19) 时候再整理. 现在的计划是八月底过完第二遍(190题左右算一遍 AC 15以下暂避)Linked List一直是我软肋。 我心不够细致。希望这遍能有质的提升。

2015-08-28 05:20:47 306

原创 Calculator| ||

string 的题目从AC25一下开始就不好做啊。。。前几天老妈快回国了,陪着买东西也没怎么做。 之前整理的String || 好像没有发表成功, 丢了,CSDN要不要这么坑啊。。。记录了好几道经典道DP题目啊。。。 算了 继续 String。。。Basic Calculator II : **要是被考这种题目,也是醉了。太个例了。这个方法是我找到最简单的一种实现,也好理解

2015-08-28 04:27:11 394

原创 The String ||

Restore IP Addresses  : ***挺综合的一道题目,核心方法是NP的DFS。 回头应当做俩遍“实现中需要一个判断数字是否为合法ip地址的一项的函数,首先要在0-255之间,其次前面字符不能是0。剩下的就是NP问题的套路了,递归中套一个for循环,不熟悉的朋友可以看看N-Queens哈。”--Code Ganker{CSDN:CODE:97

2015-08-25 10:49:24 326

原创 The String |

纠结了半天先string 还是先 linked list。。。还是决定先string 了。 java使用时间比较短,以前极度喜欢python,在处理string上更不用说了。 但是为了面试需要,忍痛割爱。。。而去python3 的推广也不顺利,前景没有以前那么好了,还是要熟练java的啊! string的题目有40几道,看难度集中在18 - 27 属于中等偏难题目。 加油 ! Fight on!

2015-08-23 00:04:33 304

原创 The Array |||

4Sum  : **这题用的是比较直观点思路,调用3Sum,而3Sum 调用 2Sum2Sum 点方法是俩边夹逼。注意 ⚠  :  for loop 去重 和 while loop 去重的用法。是一道很好的练习细节的题目。 我现在的水平在非IDE下写代码 感觉妹五行就会有一个compile error... 淡定。。重点关注逻辑错误public class Solution {

2015-08-20 23:35:43 527

原创 The Array ||

Merge Sorted Array.这个题实现并不难,关键是要从后往前扫,才能保证从后往前存入的时候不会把没有扫到的值覆盖掉。Subsets  这道题本来没啥好说的,recursion想法和 Combination 题目近似,但是在做的时候偶然发现一个问题:在IntelJ里面追踪res的时候,尽管最后结果对,但过程中res变化不正常,以nums = [1,2]为例, 如果每次加入re

2015-08-19 01:58:08 348

原创 The Array |

HoHo 完成了Tree之章后,决定下一个章节选Array。 Array一直是我的一个软肋,和List的题目一个问题,我经常被index问题搞的头晕脑胀! 希望做这一遍 LeetCode上的66 题能让自己有所提升。与Tree之章不同,我不再会记录所有66道题目,我将只记难想或难做对的题目。Product of Array Except Self : *Tricky one.

2015-08-17 21:41:29 618

原创 The Tree ||

Binary Tree Right Side View :*** This one is a little tricky, how to ensure there is only the most right node in the res list for each lvl. Further understand the way recursion works.{CSDN:CODE:

2015-08-16 22:29:31 405

原创 The Tree |

暑期10周多实习正式结束啦!真是一段愉快而充实的经历。而我也决定申请shutterstock的全职啦。这是一篇关于Tree的长博客。内容覆盖了Leetcode中关于Tree的35道题目。见微知著,触类旁通。 Fighting on !Maximum Depth of Binary Tree : DFS on one tree, return max length of le

2015-08-15 22:01:40 315

原创 [LeetCode.Trick]Median of Two Sorted Arrays

原题链接一题一句:做这个题的关键是经典方法——找到俩个sorted array里面第K大的元素。 我们无法通过比较A_key 和 B_key知道K在哪,但是可以确定K不在哪。每一层可以排除A的1/2或是B的1/2public class Solution { public static double findMedianSortedArrays(int A[], int B[]

2015-08-13 03:00:17 323

原创 [LeetCode.DP]Word Break ||

原题链接一题一句: 注意退出recursion的判断条件。参考友链public class Solution { public boolean wordBreakable(String s, Set dict) { if(s==null || s.length()==0) return true;

2015-08-12 23:15:04 245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除