<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[三色旗飞扬]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tri_Color_Flag</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tri_Color_Flag]]></copyright><item><title><![CDATA[632.Binary Tree Maximum Node-二叉树的最大节点（入门题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/70667125</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/70667125</guid><author>Tri_Color_Flag</author><pubDate>Tue, 25 Apr 2017 00:02:54 +0800</pubDate><description><![CDATA[二叉树的最大节点 
题目在二叉树中寻找值最大的节点并返回。
样例给出如下一棵二叉树： 
 
返回值为 3 的节点。
题解遍历一遍即可。
public class Solution {
    /**
     * @param root the root of binary tree
     * @return the max ndoe
     */
    private TreeNode m]]></description><category></category></item><item><title><![CDATA[103.Linked List Cycle II-带环链表 II（难题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53463078</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53463078</guid><author>Tri_Color_Flag</author><pubDate>Mon, 05 Dec 2016 11:32:44 +0800</pubDate><description><![CDATA[带环链表 II 
题目给定一个链表，如果链表中存在环，则返回到链表中环的起始节点的值，如果没有环，返回null。
样例给出 -21->10->4->5, tail connects to node index 1，返回10
挑战不使用额外的空间
题解首先通过快慢指针得到该链表是否带环，如果有环则将快慢指针进行重置，分别指向头节点和之前相遇的节点，再进行单步前进，两指针相遇的节点就是环的入口节点。]]></description><category></category></item><item><title><![CDATA[535.House Robber III-打劫房屋 III（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53457255</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53457255</guid><author>Tri_Color_Flag</author><pubDate>Sun, 04 Dec 2016 22:54:05 +0800</pubDate><description><![CDATA[翻转字符串 
题目在上次打劫完一条街道之后和一圈房屋之后，窃贼又发现了一个新的可以打劫的地方，但这次所有的房子组成的区域比较奇怪，聪明的窃贼考察地形之后，发现这次的地形是一颗二叉树。与前两次偷窃相似的是每个房子都存放着特定金额的钱。你面临的唯一约束条件是：相邻的房子装着相互联系的防盗系统，且当相邻的两个房子同一天被打劫时，该系统会自动报警。 
算一算，如果今晚去打劫，你最多可以得到多少钱，当然在不触]]></description><category></category></item><item><title><![CDATA[518.Super Ugly Number-超级丑数（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53457052</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53457052</guid><author>Tri_Color_Flag</author><pubDate>Sun, 04 Dec 2016 22:27:35 +0800</pubDate><description><![CDATA[超级丑数 
题目写一个程序来找第 n 个超级丑数。 
超级丑数的定义是正整数并且所有的质数因子都在所给定的一个大小为 k 的质数集合内。比如给你 4 个质数的集合 [2, 7, 13, 19], 那么 [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] 是前 12 个超级丑数。注意事项 
1 永远都是超级丑数不管给的质数集合是什么。 
给你的质数集合已经按照升序排]]></description><category></category></item><item><title><![CDATA[515.Paint House-房屋染色（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53456914</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53456914</guid><author>Tri_Color_Flag</author><pubDate>Sun, 04 Dec 2016 22:09:08 +0800</pubDate><description><![CDATA[翻转字符串 
题目这里有n个房子在一列直线上，现在我们需要给房屋染色，分别有红色蓝色和绿色。每个房屋染不同的颜色费用也不同，你需要设计一种染色方案使得相邻的房屋颜色不同，并且费用最小。费用通过一个nx3 的矩阵给出，比如cost[0][0]表示房屋0染红色的费用，cost[1][2]表示房屋1染绿色的费用。注意事项 
所有费用都是正整数
样例costs = [[14,2,11],[11,14,5],]]></description><category></category></item><item><title><![CDATA[513.Perfect Squares-完美平方（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53389937</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53389937</guid><author>Tri_Color_Flag</author><pubDate>Tue, 29 Nov 2016 12:21:22 +0800</pubDate><description><![CDATA[完美平方 
题目给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, … )使得他们的和等于 n。你需要让平方数的个数最少。
样例给出 n = 12, 返回 3 因为 12 = 4 + 4 + 4。 
给出 n = 13, 返回 2 因为 13 = 4 + 9。
题解所有的数都可以看做一个非平方数加上一个平方数。从小到大计算dp[n]=a+b*b，递推公式为dp[a + b * b] =]]></description><category></category></item><item><title><![CDATA[512.Decode Ways-解码方法（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53375300</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53375300</guid><author>Tri_Color_Flag</author><pubDate>Mon, 28 Nov 2016 11:36:23 +0800</pubDate><description><![CDATA[解码方法 
题目有一个消息包含A-Z通过以下规则编码 
‘A’ -> 1 
‘B’ -> 2 
… 
‘Z’ -> 26 
现在给你一个加密过后的消息，问有几种解码的方式
样例给你的消息为12，有两种方式解码 AB(12) 或者 L(12). 所以返回 2
题解
本题和爬梯子问题非常类似，除了在0的处理上需要注意，比如0不可以单独存在，也不可以作为十位数进行组合。构件dp数组，对字符串进行遍历，如果]]></description><category></category></item><item><title><![CDATA[534.House Robber II-打劫房屋 II（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53267924</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53267924</guid><author>Tri_Color_Flag</author><pubDate>Mon, 21 Nov 2016 23:04:07 +0800</pubDate><description><![CDATA[打劫房屋 II 
题目在上次打劫完一条街道之后，窃贼又发现了一个新的可以打劫的地方，但这次所有的房子围成了一个圈，这就意味着第一间房子和最后一间房子是挨着的。每个房子都存放着特定金额的钱。你面临的唯一约束条件是：相邻的房子装着相互联系的防盗系统，且 当相邻的两个房子同一天被打劫时，该系统会自动报警。给定一个非负整数列表，表示每个房子中存放的钱， 算一算，如果今晚去打劫，你最多可以得到多少钱 在不触动]]></description><category></category></item><item><title><![CDATA[532.Reverse Pairs-逆序对（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53257379</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53257379</guid><author>Tri_Color_Flag</author><pubDate>Mon, 21 Nov 2016 11:31:26 +0800</pubDate><description><![CDATA[逆序对 
题目在数组中的两个数字如果前面一个数字大于后面的数字，则这两个数字组成一个逆序对。给你一个数组，求出这个数组中逆序对的总数。 
概括：如果a[i] > a[j] 且 i < j， a[i] 和 a[j] 构成一个逆序对。
样例序列 [2, 4, 1, 3, 5] 中，有 3 个逆序对 (2, 1), (4, 1), (4, 3)，则返回 3 。
题解本题在归并排序的基础上进行修改就可以了，]]></description><category></category></item><item><title><![CDATA[528.Flatten Nested List Iterator-摊平嵌套的列表（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229648</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229648</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 13:58:00 +0800</pubDate><description><![CDATA[摊平嵌套的列表 
题目给你一个嵌套的列表，实现一个迭代器将其摊平。 
一个列表的每个元素可能是整数或者一个列表。
样例给出列表 [[1,1],2,[1,1]]，经过迭代器之后返回 [1,1,2,1,1]。 
给出列表 [1,[4,[6]]]，经过迭代器之后返回 [1,4,6]。
题解对嵌套的列表进行遍历，如果元素是整数则直接加入结果列表中，是列表则递归遍历。
/**
 * // This is th]]></description><category></category></item><item><title><![CDATA[477.Surrounded Regions-被围绕的区域（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229576</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229576</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 13:45:28 +0800</pubDate><description><![CDATA[被围绕的区域 
题目给一个二维的矩阵，包含 ‘X’ 和 ‘O’, 找到所有被 ‘X’ 围绕的区域，并用 ‘X’ 填充满。
样例给出二维矩阵： 
 
把被 ‘X’ 围绕的区域填充之后变为： 题解
public class Solution {
    private static Queue<Integer> queue = null;
    private static char[][] boar]]></description><category></category></item><item><title><![CDATA[436.Maximal Square-最大正方形（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229372</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229372</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 13:25:18 +0800</pubDate><description><![CDATA[最大正方形 
题目在一个二维01矩阵中找到全为1的最大正方形
样例1 0 1 0 0 
1 0 1 1 1 
1 1 1 1 1 
1 0 0 1 0 
返回 4
题解定义相同大小的辅助数组res，且第一例和第一行元素与原数组相同。从res[1][1]开始，如果原数组matrix[i][j]为0则表示当前点不存在正方形，即边长为0。如果matrix[i][j]为1则表示至少存在边长为1的正方形，此时]]></description><category></category></item><item><title><![CDATA[511.Swap Two Nodes in Linked List-交换链表当中两个节点（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229132</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53229132</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 12:29:00 +0800</pubDate><description><![CDATA[交换链表当中两个节点 
题目给你一个链表以及两个权值v1和v2，交换链表中权值为v1和v2的这两个节点。保证链表中节点权值各不相同，如果没有找到对应节点，那么什么也不用做。注意事项 
你需要交换两个节点而不是改变节点的权值
样例给出链表 1->2->3->4->null ，以及 v1 = 2 ， v2 = 4 
返回结果 1->4->3->2->null。
题解基本的链表题，需注意两个节点相邻的问题]]></description><category></category></item><item><title><![CDATA[507.Wiggle Sort II-摆动排序 II（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53228529</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53228529</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 12:13:31 +0800</pubDate><description><![CDATA[摆动排序 II 
题目给你一个数组nums，将它重排列如下形式 
nums[0] < nums[1] > nums[2] < nums[3]….注意事项 
你可以认为每个输入都有合法解
样例给出 nums = [1, 5, 1, 1, 6, 4],一种方案为 [1, 4, 1, 5, 1, 6]. 
给出 nums = [1, 3, 2, 2, 3, 1],一种方案为 [2, 3, 1, 3, 1,]]></description><category></category></item><item><title><![CDATA[508.Wiggle Sort-摆动排序（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53227516</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53227516</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 09:36:16 +0800</pubDate><description><![CDATA[摆动排序 
题目给你一个没有排序的数组，请将原数组就地重新排列满足如下性质 
nums[0] <= nums[1] >= nums[2] <= nums[3]….注意事项 
请就地排序数组，也就是不需要额外数组
样例给出数组为 nums = [3, 5, 2, 1, 6, 4] 一种输出方案为 [1, 6, 2, 5, 3, 4]
题解
从i=1开始遍历数组，如果是奇数位则应该是nums[i]>=n]]></description><category></category></item><item><title><![CDATA[473.Add and Search Word-单词的添加与查找（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53224946</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53224946</guid><author>Tri_Color_Flag</author><pubDate>Sat, 19 Nov 2016 00:00:07 +0800</pubDate><description><![CDATA[单词的添加与查找 
题目设计一个包含下面两个操作的数据结构：addWord(word), search(word) 
addWord(word)会在数据结构中添加一个单词。而search(word)则支持普通的单词查询或是只包含.和a-z的简易正则表达式的查询。 
一个 . 可以代表一个任何的字母。注意事项 
你可以假设所有的单词都只包含小写字母 a-z。
样例addWord(“bad”) 
add]]></description><category></category></item><item><title><![CDATA[442.Implement Trie-实现 Trie（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53224576</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53224576</guid><author>Tri_Color_Flag</author><pubDate>Fri, 18 Nov 2016 23:18:55 +0800</pubDate><description><![CDATA[实现 Trie 
题目实现一个 Trie，包含 insert, search, 和 startsWith 这三个方法。注意事项 
你可以假设所有的输入都是小写字母a-z。
样例insert(“lintcode”) 
search(“code”) // return false 
startsWith(“lint”) // return true 
startsWith(“linterror”) //]]></description><category></category></item><item><title><![CDATA[439.Segment Tree Build II-线段树的构造 II（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53213941</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53213941</guid><author>Tri_Color_Flag</author><pubDate>Fri, 18 Nov 2016 11:00:56 +0800</pubDate><description><![CDATA[线段树的构造 II 
题目线段树是一棵二叉树，他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。start和end都是整数，并按照如下的方式赋值:根节点的 start 和 end 由 build 方法所给出。 
对于节点 A 的左儿子，有 start=A.left, end=(A.left + A.right) / 2。 
对于节点 A 的右儿子，有 start=(A.l]]></description><category></category></item><item><title><![CDATA[426.Restore IP Addresses-恢复IP地址（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53208376</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53208376</guid><author>Tri_Color_Flag</author><pubDate>Fri, 18 Nov 2016 10:36:40 +0800</pubDate><description><![CDATA[恢复IP地址 


题目

给一个由数字组成的字符串。求出其可能恢复为的所有IP地址。
样例

给出字符串 “25525511135”，所有可能的IP地址为： 
[ 
“255.255.11.135”, 
“255.255.111.35” 
] 
（顺序无关紧要）
题解




Last Update 2016.11.17]]></description><category></category></item><item><title><![CDATA[428.Pow(x, n)-x的n次幂（中等题）]]></title><link>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53208344</link><guid>https://blog.youkuaiyun.com/Tri_Color_Flag/article/details/53208344</guid><author>Tri_Color_Flag</author><pubDate>Thu, 17 Nov 2016 23:26:10 +0800</pubDate><description><![CDATA[x的n次幂 
题目实现 pow(x,n)注意事项 
不用担心精度，当答案和标准输出差绝对值小于1e-3时都算正确
样例Pow(2.1, 3) = 9.261 
Pow(0, 1) = 0 
Pow(1, 0) = 1
题解
用分治法优化累计相乘的过程。public class Solution {
    /**
     * @param x the base number
     * @par]]></description><category></category></item></channel></rss>