<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csf的专栏]]></title><description><![CDATA[关注计算机应用【Dream-hardworking-presidence】]]></description><link>https://blog.youkuaiyun.com/litoupu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; litoupu]]></copyright><item><title><![CDATA[总结2015，展望2016]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/50543396</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/50543396</guid><author>litoupu</author><pubDate>Tue, 19 Jan 2016 16:36:41 +0800</pubDate><description><![CDATA[总结2015，展望2016对于2015，习惯性地写流水账吧，想到哪写到哪，随便扯扯；而对于2016，罗列下TODO list吧。忙碌的2015面临各种选择，总归是艰难的，我的2015年是在“赶”中度过的。 
曾记得1年多前，在紫荆港的跨年上，许下2015年要做好的三件事情。既然这样，那就围绕这三件事情展开吧。第一件事情是继续在导师公司的实习，参与实际项目的研发，提升自己的专业技能和素养，努力拿出成绩]]></description><category></category></item><item><title><![CDATA[redis设计与实现]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/47440053</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/47440053</guid><author>litoupu</author><pubDate>Wed, 12 Aug 2015 10:06:26 +0800</pubDate><description><![CDATA[数据结构域对象

数据库键总是字符串，值可以为字符串对象、列表对象(list)、哈希对象(hash)、集合对象(set)、有序集合（sorted set object）这5种中的其中一种
redis使用SDS保存字符串(simple dynamic string），即简单动态字符串抽象类型。
struct SDS
int len；
int free;
char buf[];
与re]]></description><category></category></item><item><title><![CDATA[Redis底层数据结构总结]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/47440013</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/47440013</guid><author>litoupu</author><pubDate>Wed, 12 Aug 2015 10:05:05 +0800</pubDate><description><![CDATA[Redis用于存储的存储格式分为5种对象：String对象、List对象、HashTable对象、Set对象和SortedSet。




String字符串，用于保存字符串对象，同时可以作为缓冲区(AOF缓存区)
sdshdr{
int length;
int free;
char[] buffer;
}

C字符串和SDS之间区别






C字符串
]]></description><category></category></item><item><title><![CDATA[【LeetCode】Minimum Size Subarray Sum]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/45667863</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/45667863</guid><author>litoupu</author><pubDate>Tue, 12 May 2015 12:37:24 +0800</pubDate><description><![CDATA[采用类似滑动窗口的形式，双指针i,j，复杂度O(n).
与https://leetcode.com/problems/minimum-window-substring/  这题有点类似


public class Solution {
    public int minSubArrayLen(int s, int[] nums) {
        if(nums == null ||]]></description><category></category></item><item><title><![CDATA[K-th string微软2014在线笔试题]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/44829903</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/44829903</guid><author>litoupu</author><pubDate>Thu, 02 Apr 2015 11:35:36 +0800</pubDate><description><![CDATA[Description

Consider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. 
Write a program to find and output the K-th string according]]></description><category></category></item><item><title><![CDATA[【LeetCode】Recover Binary Search Tree]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/43970511</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/43970511</guid><author>litoupu</author><pubDate>Fri, 27 Feb 2015 17:50:50 +0800</pubDate><description><![CDATA[Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:
A solution using O(n) space is pretty straight forward. Could you devise a]]></description><category></category></item><item><title><![CDATA[【LeetCode】Longest Palindromic Substring]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41977949</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41977949</guid><author>litoupu</author><pubDate>Wed, 17 Dec 2014 09:47:09 +0800</pubDate><description><![CDATA[参考：http://blog.youkuaiyun.com/soszou/article/details/37312317


public class Solution {
    public String longestPalindrome(String s) {
        int len = s.length();
        String ans = "";
        Stri]]></description><category></category></item><item><title><![CDATA[【LeetCode】Search in Rotated Sorted Array II]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41942363</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41942363</guid><author>litoupu</author><pubDate>Mon, 15 Dec 2014 12:52:37 +0800</pubDate><description><![CDATA[public class Solution {
    public boolean binarySearch0(int[] num, int l, int h, int target){
        while(l <= h){
            int mid = l + (( h - l) >> 1);
            if(num[mid] > target) h = m]]></description><category></category></item><item><title><![CDATA[【LeetCode】Search in Rotated Sorted Array]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41942333</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41942333</guid><author>litoupu</author><pubDate>Mon, 15 Dec 2014 12:50:05 +0800</pubDate><description><![CDATA[public class Solution {
    public int binarySearch0(int[] num, int l, int h, int target){//普通的二分查找
        while(l <= h){
            int mid = l + (( h - l) >> 1);
            if(num[mid] > target) ]]></description><category></category></item><item><title><![CDATA[【LeetCode】Flatten Binary Tree to Linked List]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41744969</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41744969</guid><author>litoupu</author><pubDate>Fri, 05 Dec 2014 11:09:39 +0800</pubDate><description><![CDATA[/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {	//获取根节点的先]]></description><category></category></item><item><title><![CDATA[【LeetCode】Search for a Range]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41682607</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41682607</guid><author>litoupu</author><pubDate>Tue, 02 Dec 2014 19:44:28 +0800</pubDate><description><![CDATA[public class Solution {
    public int binarySearchFirst(int[] A, int target){
        int l = 0, h = A.length - 1;
        int p = -1;
        while(l <= h){
            int mid = l + ((h - l) >> 1);]]></description><category></category></item><item><title><![CDATA[【LeetCode】Copy List with Random Pointer]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41623807</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41623807</guid><author>litoupu</author><pubDate>Sun, 30 Nov 2014 16:27:54 +0800</pubDate><description><![CDATA[题目：



A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.

Return a deep copy of the list.
分析：

我们知道如果是简单的copy]]></description><category></category></item><item><title><![CDATA[【LeetCode】Convert Sorted List to Binary Search Tree]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41578233</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41578233</guid><author>litoupu</author><pubDate>Fri, 28 Nov 2014 20:29:12 +0800</pubDate><description><![CDATA[获取中间节点，注意要把链表断开成两个节点，如果节点个数为奇数，则返回最中间的节点，否则返回中间两个节点的前面那个节点
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x;]]></description><category></category></item><item><title><![CDATA[【LeetCode】3Sum]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41556845</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41556845</guid><author>litoupu</author><pubDate>Thu, 27 Nov 2014 22:35:03 +0800</pubDate><description><![CDATA[先确定一个数，然后求两个数的和为target，快速算法，编程之美2.12 快速寻找满足条件的两个数


public class Solution {
    public List> threeSum(int[] num) {
        Arrays.sort(num);
        int len = num.length;
        List> ansList = ne]]></description><category></category></item><item><title><![CDATA[【LeetCode】Intersection of Two Linked Lists]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41555557</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41555557</guid><author>litoupu</author><pubDate>Thu, 27 Nov 2014 21:55:23 +0800</pubDate><description><![CDATA[查找两个链表的第一个公共节点，如果两个节点的尾节点相同，肯定存在公共节点
方法： 长的链表开始多走 （h1的数量 - h2的数量）步，然后和短链表同步往下走，遇到的第一个相同的节点就是最早的公共节点


/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     Li]]></description><category></category></item><item><title><![CDATA[【LeetCode】Partition List]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41520863</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41520863</guid><author>litoupu</author><pubDate>Wed, 26 Nov 2014 20:00:22 +0800</pubDate><description><![CDATA[小于x的所有节点串成一个链表
大于x的所有节点串成一个链表
再将两者拼接起来，注意要链表节点之间的断和链接


/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *]]></description><category></category></item><item><title><![CDATA[【LeetCode】Reverse Linked List II]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41285815</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41285815</guid><author>litoupu</author><pubDate>Wed, 19 Nov 2014 18:47:52 +0800</pubDate><description><![CDATA[1、要非常熟练翻转链表的代码
2、对于节点]]></description><category></category></item><item><title><![CDATA[【LeetCode】Reorder List]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41252861</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41252861</guid><author>litoupu</author><pubDate>Tue, 18 Nov 2014 20:22:56 +0800</pubDate><description><![CDATA[利用map 获取节点的 的时候O(l)]]></description><category></category></item><item><title><![CDATA[【LeetCode】Rotate List]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41251391</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41251391</guid><author>litoupu</author><pubDate>Tue, 18 Nov 2014 19:07:02 +0800</pubDate><description><![CDATA[把倒数k个节点放到开始节点的前面，注意]]></description><category></category></item><item><title><![CDATA[2014 WAP校园招聘笔试题1]]></title><link>https://blog.youkuaiyun.com/litoupu/article/details/41220817</link><guid>https://blog.youkuaiyun.com/litoupu/article/details/41220817</guid><author>litoupu</author><pubDate>Mon, 17 Nov 2014 22:33:00 +0800</pubDate><description><![CDATA[Abstract
We are planning an orienteering game.
The aim of this game is to arrive at the goal (G) from the start (S) with the shortest distance.
However, the players have to pass all the checkpoints]]></description><category></category></item></channel></rss>