<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sinat_35154996的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinat_35154996</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_35154996]]></copyright><item><title><![CDATA[【链表】[Lintcode]合并两个排序链表 ]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75221053</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75221053</guid><author>sinat_35154996</author><pubDate>Mon, 17 Jul 2017 11:12:00 +0800</pubDate><description><![CDATA[描述：
将两个排序链表合并为一个新的排序链表


样例： 
给出 1->3->8->11->15->null，2->null， 返回 
1->2->3->8->11->15->null。


       具体思想就是新建一个链表，然后比较两个链表中的元素值，把较小的那个链到新链表中，由于两个输入链表的长度可能不同，所以最终会有一个链表先完成插入所有元素，则直接另一个未完成的链表]]></description><category></category></item><item><title><![CDATA[[Lintcode]爬梯子]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75220041</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75220041</guid><author>sinat_35154996</author><pubDate>Mon, 17 Jul 2017 10:33:20 +0800</pubDate><description><![CDATA[描述：
假设你正在爬楼梯，需要n步你才能到达顶部。但每次你只能爬一步或者两步，你能有多少种不同的方法爬到楼顶部？


样例： 

比如n=3，1+1+1=1+2=2+1=3，共有3中不同的方法
返回 3


     这个爬梯子问题最开始看的时候没搞懂是让干啥的，后来看了别人的分析后，才知道实际上跟斐波那契数列非常相似，假设梯子有n层，那么如何爬到第n层呢，因为每次只能怕1或2]]></description><category></category></item><item><title><![CDATA[【数组】[Lintcode]加一]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75209062</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75209062</guid><author>sinat_35154996</author><pubDate>Sun, 16 Jul 2017 19:17:05 +0800</pubDate><description><![CDATA[描述：
给定一个非负数，表示一个数字数组，在该数的基础上+1，返回一个新的数组。
该数字按照大小进行排列，最大的数在列表的最前面。


样例 

给定 [1,2,3] 表示 123, 返回 [1,2,4].
给定 [9,9,9] 表示 999, 返回 [1,0,0,0].



     将一个数字的每个位上的数字分别存到一个一维向量中，最高位在最开头，我们需要给这个数字加]]></description><category></category></item><item><title><![CDATA[[Lintcode]最长公共前缀]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75208514</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75208514</guid><author>sinat_35154996</author><pubDate>Sun, 16 Jul 2017 17:48:06 +0800</pubDate><description><![CDATA[描述：
给k个字符串，求出他们的最长公共前缀(LCP)


样例： 

在 "ABCD" "ABEF" 和 "ACEF" 中,  LCP 为 "A"
在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"


解题思路：

     这道题让我们求一系列字符串的共同前缀，没有什么特别的技巧，无脑查找即可，我们定义两个变量i和j，其中i是]]></description><category></category></item><item><title><![CDATA[【堆栈】[Lintcode]有效的括号序列]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75207248</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75207248</guid><author>sinat_35154996</author><pubDate>Sun, 16 Jul 2017 16:01:20 +0800</pubDate><description><![CDATA[描述：
给定一个字符串所表示的括号序列，包含以下字符： '(', ')', '{', '}',
'[' and ']'， 判定是否是有效的括号序列。


样例： 

括号必须依照 "()" 顺序表示， "()[]{}" 是有效的括号，但 "([)]"则是无效的括号。
''{[()]}''也是有效的！！！！！


这道题让我们验证输入的字符串是否为括号字符串，包括大括号，中括号]]></description><category></category></item><item><title><![CDATA[[Lintcode]三数之和]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75144019</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75144019</guid><author>sinat_35154996</author><pubDate>Sat, 15 Jul 2017 09:55:36 +0800</pubDate><description><![CDATA[描述：
给出一个有n个整数的数组S，在S中找到三个整数a, b, c，找到所有使得a + b + c = 0的三元组。



注意事项：

在三元组(a, b, c)，要求a 
结果不能包含重复的三元组！！！





样例：

如S = {-1 0 1 2 -1 -4},
 你需要返回的三元组集合的是：

(-1, 0, 1)
(-1, -1, 2)]]></description><category></category></item><item><title><![CDATA[[Lintcode]罗马数字转整数]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75065238</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75065238</guid><author>sinat_35154996</author><pubDate>Thu, 13 Jul 2017 15:07:19 +0800</pubDate><description><![CDATA[﻿﻿
描述：
给定一个罗马数字，将其转换成整数。
返回的结果要求在1到3999的范围内。


样例：

IV -> 4
XII -> 12
XXI -> 21
XCIX -> 99



罗马数转化成数字问题，我们需要对于罗马数字很熟悉才能完成转换。以下截自百度百科：
罗马数字是最早的数字表示方式，比阿拉伯数字早2000多年，起源于罗马。
如今我们最常见的罗马数字]]></description><category></category></item><item><title><![CDATA[[Lintcode]主元素]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75046114</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75046114</guid><author>sinat_35154996</author><pubDate>Thu, 13 Jul 2017 10:54:43 +0800</pubDate><description><![CDATA[描述：
给定一个整型数组，找出主元素，它在数组中的出现次数严格大于数组元素个数的【二分之一】。
注意事项 

You may assume that the array is non-empty and the majority number always exist in the array.
样例 

给出数组[1,1,1,1,2,2,2]，返回 1
    
     比较]]></description><category></category></item><item><title><![CDATA[[Lintcode]带环链表]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75044241</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75044241</guid><author>sinat_35154996</author><pubDate>Thu, 13 Jul 2017 10:13:31 +0800</pubDate><description><![CDATA[描述：
给定一个链表，判断它是否有环。
样例 ：

给出 -21->10->4->5, tail connects to node index 1，返回 true
思路：
     使用两个指针，初始时两个指针均指向链表头位置，然后一个指针每次走两步，一个指针每次走一步，如果在循环过程中遇到两个指针相等，则说明有循环返回true。如果出现一个指针无法继续往下走，则退出循环返回false]]></description><category></category></item><item><title><![CDATA[[Lintcode]翻转链表]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75041057</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75041057</guid><author>sinat_35154996</author><pubDate>Wed, 12 Jul 2017 20:56:33 +0800</pubDate><description><![CDATA[翻转一个链表
样例

给出一个链表1->2->3->null，这个翻转后的链表为3->2->1->null
 分析：


/**
 * Definition of ListNode
 * 
 * class ListNode {
 * public:
 *     int val;
 *     ListNode *next;
 * 
 *     ListN]]></description><category></category></item><item><title><![CDATA[[lintcode]最长回文子串]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/75040168</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/75040168</guid><author>sinat_35154996</author><pubDate>Wed, 12 Jul 2017 19:23:49 +0800</pubDate><description><![CDATA[问题描述：
给出一个字符串（假设长度最长为1000），求出它的最长回文子串，你可以假定只有一个满足条件的最长回文串。





哪家公司问你的这个题？ 
Airbnb 
Alibaba Amazon 
Apple Baidu 
Bloomberg Cisco 
Dropbox Ebay 
Facebook Google 
Hulu Intel 
Linkedin Mi]]></description><category></category></item><item><title><![CDATA[[lintcode]二叉树的最大深度]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74784323</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74784323</guid><author>sinat_35154996</author><pubDate>Sat, 08 Jul 2017 10:44:46 +0800</pubDate><description><![CDATA[问题描述：
给定一个二叉树，找出其最大深度。

二叉树的深度为根节点到最远叶子节点的距离。



样例：

给出一棵如下的二叉树:
  1
 / \ 
2   3
   / \
  4   5

这个二叉树的最大深度为3.



思路分析：
遍历每个节点，返回该节点左右子树中深度较大的一个

/**
 * Definition of TreeNode:
 ]]></description><category></category></item><item><title><![CDATA[[未解决][lintcode]带最小值操作的栈]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74784129</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74784129</guid><author>sinat_35154996</author><pubDate>Sat, 08 Jul 2017 10:13:27 +0800</pubDate><description><![CDATA[解法一：http://www.cnblogs.com/grandyang/p/4091064.html
解法二：http://blog.youkuaiyun.com/kkdd2013/article/details/51919451
调试都没有通过]]></description><category></category></item><item><title><![CDATA[容易_431_反转整数（7）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74640870</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74640870</guid><author>sinat_35154996</author><pubDate>Fri, 07 Jul 2017 11:17:34 +0800</pubDate><description><![CDATA[后备知识：
1.long long 表示的是64bit
int 表示的是32bit
2.INT_MIN：int取值范围内的最小值；INT_MAX：int取值范围内的最大值
32位的int型的取值是2147483647 到 -2147483648，但是，在C/C++语言中，你不能直接使用 -2147483648 来代替最小负数，因为它不是一个数，而是一个表达式。表达式是：“对正数214748]]></description><category></category></item><item><title><![CDATA[中等_384_最长无重复字符的子串（6）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74625818</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74625818</guid><author>sinat_35154996</author><pubDate>Fri, 07 Jul 2017 09:15:07 +0800</pubDate><description><![CDATA[﻿﻿



class Solution {
public:
    /**
     * @param s: a string
     * @return: an integer 
     */
    int lengthOfLongestSubstring(string s) {
        // write your code here
        int m[256]]]></description><category></category></item><item><title><![CDATA[容易_82_落单的数（5）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74556792</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74556792</guid><author>sinat_35154996</author><pubDate>Thu, 06 Jul 2017 15:35:04 +0800</pubDate><description><![CDATA[给出2*n + 1 个的数字，除其中一个数字之外其他每个数字均出现两次，找到这个数字。


样例 

给出 [1,2,2,1,3,4,3]，返回 4


思路：通过异或，相同的数结果为0，那么最后的结果一定是落单的数字。


参考代码：
class Solution {
public:
    /**
     * @param A: Array of intege]]></description><category></category></item><item><title><![CDATA[困难_65_两排序数组的中位数(4)]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74550536</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74550536</guid><author>sinat_35154996</author><pubDate>Thu, 06 Jul 2017 15:07:25 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/grandyang/p/4465932.html
﻿﻿]]></description><category></category></item><item><title><![CDATA[容易_167_链表求和（3）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74523377</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74523377</guid><author>sinat_35154996</author><pubDate>Thu, 06 Jul 2017 10:20:46 +0800</pubDate><description><![CDATA[你有两个用链表代表的整数，其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序，使得第一个数字位于链表的开头。写出一个函数将两个整数相加，用链表形式返回和。
样例给出两个链表 3->1->5->null 和 5->9->2->null，返回 8->0->8->null
/**
 * Definition for singly-linked list.
 * struct Lis]]></description><category></category></item><item><title><![CDATA[容易_53_翻转字符串（2）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74479720</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74479720</guid><author>sinat_35154996</author><pubDate>Wed, 05 Jul 2017 18:53:40 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/grandyang/p/6065544.html]]></description><category></category></item><item><title><![CDATA[容易_56_两数之和（1）]]></title><link>https://blog.youkuaiyun.com/sinat_35154996/article/details/74330691</link><guid>https://blog.youkuaiyun.com/sinat_35154996/article/details/74330691</guid><author>sinat_35154996</author><pubDate>Tue, 04 Jul 2017 15:04:12 +0800</pubDate><description><![CDATA[给一个整数数组，找到两个数使得他们的和等于一个给定的数 target。

你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n，不是以 0 开头。

样例

给出 numbers = [2, 7, 11, 15],
 target = 9, 返回 [1,
 2].



solution:


方法一：使]]></description><category></category></item></channel></rss>