<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tim's Blog]]></title><description><![CDATA[The path to your glorious future begins with the steps you take today.]]></description><link>https://blog.youkuaiyun.com/jackieting</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jackieting]]></copyright><item><title><![CDATA[[LeetCode]Word Break]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24661109</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24661109</guid><author>jackieting</author><pubDate>Mon, 28 Apr 2014 18:26:42 +0800</pubDate><description><![CDATA[Question:


Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.

For example, given
s = "leetcode",]]></description><category></category></item><item><title><![CDATA[[LeetCode]Linked List Cycle]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24609545</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24609545</guid><author>jackieting</author><pubDate>Mon, 28 Apr 2014 01:05:34 +0800</pubDate><description><![CDATA[Question:


Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?
Answer]]></description><category></category></item><item><title><![CDATA[[LeetCode]Linked List Cycle II]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24607927</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24607927</guid><author>jackieting</author><pubDate>Mon, 28 Apr 2014 00:49:19 +0800</pubDate><description><![CDATA[/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *de]]></description><category></category></item><item><title><![CDATA[[LeetCode]Max Points on a Line]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24566705</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24566705</guid><author>jackieting</author><pubDate>Sun, 27 Apr 2014 02:58:28 +0800</pubDate><description><![CDATA[Question:


Given n points
 on a 2D plane, find the maximum number of points that lie on the same straight line.




分析：

任意一条直线都可以表述为

y = ax + b

假设，有两个点(x1,y1), (x2,y2)，如果他们都在这条直线上则有]]></description><category></category></item><item><title><![CDATA[[LeetCode]Evaluate Reverse Polish Notation]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24564933</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24564933</guid><author>jackieting</author><pubDate>Sun, 27 Apr 2014 01:56:11 +0800</pubDate><description><![CDATA[Question:


Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +, -, *, /.
 Each operand may be an integer or another expression.

Some examples:
]]></description><category></category></item><item><title><![CDATA[[LeetCode]Reverse Words in a String]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/24559581</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/24559581</guid><author>jackieting</author><pubDate>Sat, 26 Apr 2014 23:17:41 +0800</pubDate><description><![CDATA[Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

click to show clarification.

Clarification:


What constitutes]]></description><category></category></item><item><title><![CDATA[虚函数和类的多态性]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/17273069</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/17273069</guid><author>jackieting</author><pubDate>Thu, 12 Dec 2013 01:10:25 +0800</pubDate><description><![CDATA[多态特性让程序员省去了细节的考虑，提高了开发效率，使代码大大的简化，当然虚函数的定义也是有缺陷的，因为多态特性增加了一些数据存储和执行指令的开销，所以能不用多态最好不用。（为了实现virtual函数，类中间必须要增加一个pointer指向虚函数表，这样增大了类的体积。所以没有必要的话，还是不要随意声明virtual的析构函数。普遍的规则是只有当类当中有virtual的函数时，析构函数才声明为vir]]></description><category></category></item><item><title><![CDATA[[LeetCode] Reorder List]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16893973</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16893973</guid><author>jackieting</author><pubDate>Sat, 23 Nov 2013 01:04:42 +0800</pubDate><description><![CDATA[Question:


Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…

You must do this in-place without altering the nodes' values.

For example,
Given {1,2,3,4},]]></description><category></category></item><item><title><![CDATA[[LeetCode] Binary Tree Preorder Traversal]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16875577</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16875577</guid><author>jackieting</author><pubDate>Fri, 22 Nov 2013 02:26:51 +0800</pubDate><description><![CDATA[Question:


Given a binary tree, return the preorder traversal of its nodes' values.

For example:
Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3




return [1,2,3].

Note: R]]></description><category></category></item><item><title><![CDATA[[LeetCode] Binary Tree Postorder Traversal]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16872547</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16872547</guid><author>jackieting</author><pubDate>Thu, 21 Nov 2013 22:55:58 +0800</pubDate><description><![CDATA[Question:

Given a binary tree, return the postorder traversal of its nodes' values.

For example:
Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3




return [3,2,1].

Note: Re]]></description><category></category></item><item><title><![CDATA[[LeetCode] LRU Cache]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16854045</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16854045</guid><author>jackieting</author><pubDate>Thu, 21 Nov 2013 01:40:06 +0800</pubDate><description><![CDATA[Question:
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set.

get(key) - Get the value (will always be positive) of ]]></description><category></category></item><item><title><![CDATA[祝老婆生日快乐！]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16834277</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16834277</guid><author>jackieting</author><pubDate>Tue, 19 Nov 2013 23:55:17 +0800</pubDate><description><![CDATA[今天老婆生日，祝老怕生日快乐，永远开心幸福！留篇博客纪念下！ I Love You！]]></description><category></category></item><item><title><![CDATA[24点算法]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16813515</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16813515</guid><author>jackieting</author><pubDate>Tue, 19 Nov 2013 00:26:17 +0800</pubDate><description><![CDATA[计算24点最简单有效的方法就是递归穷举法。
假如数组number[COUNT ]存放了要计算的数值（COUNT可以设为4或者其他）。
算法基本思想：
第一步：先从数组中选取两个数值number[i]和number[j]，然后分别用"加/减/乘/除"进行计算，将得到的结果保存到数组中并替换number[i]的值，然后用数组最后一个值number[n-1]替换number[j]的值（即令numb]]></description><category></category></item><item><title><![CDATA[KMP算法中的前缀函数]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16797899</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16797899</guid><author>jackieting</author><pubDate>Mon, 18 Nov 2013 00:48:58 +0800</pubDate><description><![CDATA[虽然在上一篇文章中已经全面介绍了KMP算法和前缀函数的计算过程。但是鉴于前缀函数的计算比较难以理解，这里再专门详细解释一下KMP算法中next[]数组的含义和实现过程，帮助加深理解。

简单的说，前缀函数主要是求出模式串中的next数组，那么什么是模式串呢？模式串模式串的概念很简单。举个例子：“给出一个字符串 T，再给出 n 个字符串 S1、S2...Sn，问 S1、S2...Sn 中有哪些是]]></description><category></category></item><item><title><![CDATA[KMP算法总结]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16533739</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16533739</guid><author>jackieting</author><pubDate>Sun, 17 Nov 2013 21:00:29 +0800</pubDate><description><![CDATA[【KMP算法简介】

 

         KMP算法是一种改进后的字符串匹配算法，由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现，因此人们称它为克努特——莫里斯——普拉特操作（简称KMP算法）。通过一个辅助函数实现跳过扫描不必要的目标串字符，以达到优化效果。

 

 

 

【传统字符串匹配算法的缺憾】

 

         Bi]]></description><category></category></item><item><title><![CDATA[[LeetCode] Implement strStr() 字符串子串]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16371049</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16371049</guid><author>jackieting</author><pubDate>Sun, 17 Nov 2013 18:12:46 +0800</pubDate><description><![CDATA[Question:

Implement strStr().
Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.

Solution (C++):

class Solution {
public:
    char *s]]></description><category></category></item><item><title><![CDATA[[LeetCode] Spiral Matrix 螺旋输出矩阵]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16365357</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16365357</guid><author>jackieting</author><pubDate>Sun, 17 Nov 2013 01:55:29 +0800</pubDate><description><![CDATA[Question: 
Given a matrix of m x n elements (m rows, n columns),
 return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[
 [ 1, 2, 3 ],
 [ 4, 5, 6 ],
 [ 7, 8]]></description><category></category></item><item><title><![CDATA[C++中的smart pointer简单实现]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16362649</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16362649</guid><author>jackieting</author><pubDate>Sat, 16 Nov 2013 22:46:53 +0800</pubDate><description><![CDATA[Why
 Smart Pointer?

为什么需要智能指针？因为c++的内存管理一直是个令人头疼的问题。

假如我们有如下person对象：每个person有自己的名字，并且可以告诉大家他叫什么名字：

//
//a person who can tell us his/her name.
//
#include
#include
using namespace std;
clas]]></description><category></category></item><item><title><![CDATA[指向继承类的基类指针解引用后，是否还具备多态性]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16362133</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16362133</guid><author>jackieting</author><pubDate>Sat, 16 Nov 2013 22:24:50 +0800</pubDate><description><![CDATA[指向继承类的基类指针解引用后，是否还具备多态性？ 如下例：
#include 
using namespace std;

class Base
{
	public:
		int a;
		virtual void fun() { cout << "Base" << endl; }
};
 
class Extend : public Base
{
	public:
		int b;
		vir]]></description><category></category></item><item><title><![CDATA[类的对象和类的指针的区别]]></title><link>https://blog.youkuaiyun.com/jackieting/article/details/16361771</link><guid>https://blog.youkuaiyun.com/jackieting/article/details/16361771</guid><author>jackieting</author><pubDate>Sat, 16 Nov 2013 21:50:31 +0800</pubDate><description><![CDATA[如下程序： 

#include  
#include  
using namespace std; 

class Student 
{ 
public: 
static int number;  
string name; 

public: 
Student() 
{ 
} 

void set(string str) 
{ 
name = str; ]]></description><category></category></item></channel></rss>