<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Pushing Code]]></title><description><![CDATA[来把这个码Gank了]]></description><link>https://blog.youkuaiyun.com/craiglin1992</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; craiglin1992]]></copyright><item><title><![CDATA[longest increasing continuous subsequence in a 2D matrix]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48512143</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48512143</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 02:16:48 +0800</pubDate><description><![CDATA[dp + dfs    //These two are only for traversing around x,y
    public int[] xMove = { 1, 0, 0, -1 };
    public int[] yMove = { 0, 1, -1, 0 };    public int longestIncreasingContinuousSubsequenceII(int]]></description><category></category></item><item><title><![CDATA[perfect squares find the least number of perfect square numbers (1, 4, 9, 16, ...) which sum to n]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48511799</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48511799</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 02:01:21 +0800</pubDate><description><![CDATA[用动态规划Dynamic Programming来做，我们建立一个长度为n+1的一维dp数组，将第一个值初始化为0，其余值都初始化为INT_MAX, i从0循环到n，j从1循环到i+j*j <= n的位置，然后每次更新dp[i+j*j]的值，动态更新dp数组，其中dp[i]表示正整数i能少能由多个完全平方数组成，那么我们求n，就是返回dp[n]即可，也就是dp数组的最后一个数字，参见代码如下：int]]></description><category></category></item><item><title><![CDATA[missing ranges of sorted integer array]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48508847</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48508847</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 00:53:29 +0800</pubDate><description><![CDATA[大自然的搬运工：http://www.danielbit.com/blog/puzzle/leetcode/leetcode-missing-ranges 
Given a sorted integer array where the range of elements are [0, 99] inclusive, return its missing ranges. 
For example, g]]></description><category></category></item><item><title><![CDATA[find maximized count of 0 on left and 1 on right in binary array]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48508709</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48508709</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 00:48:19 +0800</pubDate><description><![CDATA[给定一个 array,只包含 0,1, 找到一个分割位置,使左侧 0 出现的个数和右侧 1 出现的个数之和最 大化brute force, time: O(n^2), space: O(1) 
follow up, can we solve in O(n): DP, two temp array-google 1point3acres 
follow up, can we use O(1) spac]]></description><category></category></item><item><title><![CDATA[serialize a list of string and deserialize it]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48508651</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48508651</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 00:46:41 +0800</pubDate><description><![CDATA[import java.util.*;
public class combineStrings{
    public static void main(String[] args) {
                String[] arr = {"abc%cde", "a#aa", "haha"};
                for(String s : arr) {]]></description><category></category></item><item><title><![CDATA[wiggle sort Given a list of integers, sort them so the output is s1 <= s2 >=s3 <=s4 ... sN.]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48507211</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48507211</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 00:18:54 +0800</pubDate><description><![CDATA[每个元素和后一个元素比较看是不是希望的次序，如果不是的话互换就好public void wiggle_sort(int[] arr) {  
    int n = arr.length;  
    if(n <= 1) return;  
    boolean inc = true;  
    int prev = arr[0];  
    for(int i=1; i<n; i++) {]]></description><category></category></item><item><title><![CDATA[Reservoir Sampling (a random element from indefinite length stream with same probability)]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48506703</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48506703</guid><author>craiglin1992</author><pubDate>Thu, 17 Sep 2015 00:07:01 +0800</pubDate><description><![CDATA[Reservoir Sampling 
Reservoir sampling is a family of randomized algorithms for randomly choosing k samples from a list of n items, where n is either a very large or unknown number. Typically n is larg]]></description><category></category></item><item><title><![CDATA[calculate sorted y of function y = ax^2 + bx + c given sorted x array]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48495133</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48495133</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 15:42:31 +0800</pubDate><description><![CDATA[给定一个一元二次方程式y = ax^2 + bx + c, 一个sorted array X, 将X中所有元素代入方程中，返回sorted的Ysolution: 看a< or > 0,，搞出两边的y们，然后mergepublic class Ax2 {
    public static void main(String[] args) {
    }    // x is sorted array]]></description><category></category></item><item><title><![CDATA[Randow Id generator with array of probability]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48494853</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48494853</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 15:29:42 +0800</pubDate><description><![CDATA[给一组id和表示每个id出现概率的数组，概率之和为1.要求随机生成id，使得随机出的id满足之前的概率数组。**如果id很多，调用这个随机生成方法的次数也很多，怎么优化使用prefix sum，使用binary searchclass RandomID {
    public static void main(String[] args) {
        int[] id = { 1, 2,]]></description><category></category></item><item><title><![CDATA[different/Unique/distinct Binary Search Trees]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48494727</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48494727</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 15:24:05 +0800</pubDate><description><![CDATA[Given n, how many structurally unique BST's (binary search trees) that store values 1...n?For example,
Given n = 3, there are a total of 5 unique BST's.   1         3     3      2      1
    \       /]]></description><category></category></item><item><title><![CDATA[adding up two (sum) big/large number with string representation]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48491603</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48491603</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 11:30:41 +0800</pubDate><description><![CDATA[public static String sumStrings(String a, String b) {
        char[] num1 = a.toCharArray();
        char[] num2 = b.toCharArray();
        int i = num1.length - 1;
        int j = num2.length - 1;]]></description><category></category></item><item><title><![CDATA[Find a sorted subsequence of size 3 three in linear time]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48490907</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48490907</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 10:53:29 +0800</pubDate><description><![CDATA[Given an array of n integers, find the 3 elements such that a[i] < a[j] < a[k] and i < j < k in 0(n) time. If there are multiple such triplets, then print any one of them.Examples:Input:  arr[] = {12,]]></description><category></category></item><item><title><![CDATA[Data Structure for HTML DOM with compare text inside]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48490199</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48490199</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 10:20:35 +0800</pubDate><description><![CDATA[1. 设计HTML DOM数据结构
信息是
<html><body><p>Hello</p></body></html>
或者
<html><body><p><b>H</b>ello</p></body></html>
【提示是类似tree】
2. 写一个方法比较两个HTML数据中存粹文本是否一样. 鍥磋鎴戜滑@1point 3 acres
上面两个例子都是Hello，所以此方法返回truepub]]></description><category></category></item><item><title><![CDATA[compute exact number of triples of distinct elements in large array]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48490013</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48490013</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 10:10:30 +0800</pubDate><description><![CDATA[Given an array of N=10^6 int32 and an int32 X, compute the exact number of triples (a, b, c) of distinct elements of the array so that a + b + c <= X    public int threeSumSmaller(int[] nums, int targe]]></description><category></category></item><item><title><![CDATA[fast Update, sum operation of 2D matrix]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48489577</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48489577</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 09:45:27 +0800</pubDate><description><![CDATA[Given a 2D space of maximum size NxN which supports two operations : 
  [1] void UPDATE(x,y,v) - sets the value of cell [x,y] to v 
  [2] int SUM(x1,y1,x2,y2) - returns sub-rectangle sum (x1,y1) to (x2]]></description><category></category></item><item><title><![CDATA[Find the longest substring with k unique distinct characters in a given string (Google)]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48489005</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48489005</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 09:03:14 +0800</pubDate><description><![CDATA[The problem can be solved in O(n). Idea is to maintain a window and add elements to the window till it contains less or equal k, update our result if required while doing so. If unique elements exceeds]]></description><category></category></item><item><title><![CDATA[distinct sequence Google]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48488839</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48488839</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 08:35:14 +0800</pubDate><description><![CDATA[leetcode ,暴力解法dfs, 双指针，不行    public int numDistinct(String s, String t) {
        return numDistinctHelper(s,t,0,0);
    }
    public int numDistinctHelper(String s, String t, int si, int ti){]]></description><category></category></item><item><title><![CDATA[Rearrange int array to put odd number to left and even to right]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48485799</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48485799</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 03:30:07 +0800</pubDate><description><![CDATA[双指针，左右调换。no extra memory, O(n)class Solution:
    def sepOddEven(self, nums):
        if not nums or len(nums) == 0: return None
        left = 0
        right = len(nums) - 1
        while left < righ]]></description><category></category></item><item><title><![CDATA[float number square root]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48484017</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48484017</guid><author>craiglin1992</author><pubDate>Wed, 16 Sep 2015 02:10:13 +0800</pubDate><description><![CDATA[public float sqrt(float f, int p)， precision是表示小数点后位数（2就要两位一致） 
 p is the number of digits after the  decimal point has to be rightSolution: 
判断数据是否符合精确度，就用两个数都乘以10^p，再取整比较是否相等。比如p=2， f=0.64, curRes =]]></description><category></category></item><item><title><![CDATA[word abbreviation]]></title><link>https://blog.youkuaiyun.com/craiglin1992/article/details/48478903</link><guid>https://blog.youkuaiyun.com/craiglin1992/article/details/48478903</guid><author>craiglin1992</author><pubDate>Tue, 15 Sep 2015 23:41:41 +0800</pubDate><description><![CDATA[一个string只保留首尾字母, 中间字母数用数字表示, 比如 “abcde” = “a3e”, “ab” = “ab”, “abc” = “a1c” . 给一组string, 输出相同abbreviation的所有string, 但重复的string不算.
abv_string = StringBuilder.append(charAt[0]), StringBuilder.append(str.]]></description><category></category></item></channel></rss>