<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[littlemong的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/littlemong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; littlemong]]></copyright><item><title><![CDATA[[leetcode/lintcode 题解] 尽量减少恶意软件的传播II]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106922697</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106922697</guid><author>littlemong</author><pubDate>Tue, 23 Jun 2020 14:28:44 +0800</pubDate><description><![CDATA[(这个问题与 尽量减少恶意软件的传播 是一样的，不同之处用粗体表示。)
在节点网络中，只有当graph[i][j] = 1 时，每个节点i能够直接连接到另一个节点j。
一些节点initial最初被恶意软件感染。只要两个节点直接连接，且其中至少一个节点受到恶意软件的感染，那么两个节点都将被恶意软件感染。这种恶意软件的传播将继续，直到没有更多的节点可以被这种方式感染。
假设 M(initial) 是在恶意软件停止传播之后，整个网络中感染恶意软件的最终节点数。
我们可以从初始列表中删除一个节点，并完全移除该节点以]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 蛇梯棋]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106905690</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106905690</guid><author>littlemong</author><pubDate>Mon, 22 Jun 2020 17:10:02 +0800</pubDate><description><![CDATA[在一块 N x N 的棋盘 board 上，从棋盘的左下角开始，每一行交替方向，按从 1 到 N*N 的数字给方格编号。例如，对于一块 6 x 6 大小的棋盘，可以编号如下：

玩家从棋盘上的方格 1 （总是在最后一行、第一列）开始出发。
每一次从方格 x 起始的移动都由以下部分组成：


你选择一个目标方块 S，它的编号是 x+1，x+2，x+3，x+4，x+5，或者 x+6，只要这个数字 &lt;= N*N。


如果 S 有一个蛇或梯子，你就移动到那个蛇或梯子的目的地。否则，你会移动到 S。


在 ]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] Google面试题：奇偶跳]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106838909</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106838909</guid><author>littlemong</author><pubDate>Thu, 18 Jun 2020 17:10:14 +0800</pubDate><description><![CDATA[给定一个整数数组A。从某一些起始索引，你可以做一系列的跳跃。其中的（第1，第3，第5 …）跳跃称为奇数跳跃，（第2，第4，第6 …）跳跃称为偶数跳跃。
你可以从索引i 以下列方式跳转到索引 j（i &lt;j）：
在奇数跳跃（即跳跃1,3,5，…）期间，跳转到索引j，使得A [i] &lt;= A [j]并且A [j]是可能的最小值。如果有多个这样的索引j，则只能跳转到最小的索引 j。 在偶数跳跃（即跳跃2,4,6，…）期间，跳转到索引j，使得A [i]&gt; = A [j]，A [j]是最大的可能值。如]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 湖面逃跑]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106810566</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106810566</guid><author>littlemong</author><pubDate>Wed, 17 Jun 2020 16:04:01 +0800</pubDate><description><![CDATA[Albert被困在结冰的湖面上。 他想知道他是否能回到岸上。 他目前在雪堆上，这给了他一些摩擦力。但一旦他踏进冰面，他会朝同一方向滑行，直到撞上另一个雪堆。 冰面上也有他必须避开的危险的洞。
Albert的小狗，Kuna，也被困在一个不同的雪堆上。 Albert能找到他的小狗并把它带到岸上吗？
Albert只能水平和垂直移动。 他最终需要来到岸边，离开湖面
输入包括以下参数：

side_length: 湖面的长度（这是一个正方形）
lake_grid: 一个二维数组代表湖面，其中0代表冰面，1代表雪堆，-]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] Amazon面试题：分享巧克力]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106790440</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106790440</guid><author>littlemong</author><pubDate>Tue, 16 Jun 2020 16:53:12 +0800</pubDate><description><![CDATA[有 N 堆石头排成一排，第 i 堆中有 stones[i] 块石头。
每次移动（move）需要将连续的 K 堆石头合并为一堆，而这个移动的成本为这 K 堆石头的总数。
找出把所有石头合并成一堆的最低成本。如果不可能，返回 -1 。

0 &lt;= K &lt; sweetness.length &lt;= 10^4
1 &lt;= sweetness[i] &lt;= 10^5

在线评测地址:
https://www.lintcode.com/problem/minimum-cost-to-merge-]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 微软面试题：拿走瓶子]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106720953</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106720953</guid><author>littlemong</author><pubDate>Fri, 12 Jun 2020 17:49:25 +0800</pubDate><description><![CDATA[【题目描述】
有n个瓶子排成一列，用arr表示。你每次可以选择能够形成回文连续子串的瓶子拿走，剩下的瓶子拼接在一起。返回你能拿走所有的瓶子的最小次数。
n&lt;=500 arr[i]&lt;=1000
在线评测地址：https://www.lintcode.com/problem/take-away-the-bottle/?utm_source=sc-csdn-fks
样例
例1:
输入：[1,3,4,1,5] 
输出：3 
说明：第一次先拿走[4]，剩余[1,3,1,5]
第二次拿走[1,3,1]，剩余]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 谷歌面试题：基因相似度]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106672086</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106672086</guid><author>littlemong</author><pubDate>Wed, 10 Jun 2020 17:57:33 +0800</pubDate><description><![CDATA[【题目描述】
给定两段基因片段 Gene1 和 Gene2 ,基因片段中由数字和"ACGT"四种字符组成。
每一个字符前都会有相应的数字，这个数字是描述该字符连续出现的数量，例如：“1A2C2G1T” 表示 “ACCGGT”。
返回一个表示这两个基因片段的相似度的字符串，相似度字符串的定义是：“相同位置上的字符相同个数” + “/” + “总字符个数”。

Gene1 和 Gene2 仅仅包含数字和[“A”, “C”, “G”, “T”]这四种字母
Gene1 以及 Gene2 的长度范围是: [1, 10]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 美团面试题：最终优惠价]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106641147</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106641147</guid><author>littlemong</author><pubDate>Tue, 09 Jun 2020 14:42:45 +0800</pubDate><description><![CDATA[【题目描述】
一位店主需要完成一项销售任务，他将要出售的物品排成一排。
从左侧开始，店主以其全价减去位于该物品右侧的第一个价格较低或价格相同的商品的价格。
如果右侧没有价格低于或等于当前商品价格的商品，则以全价出售当前商品。
你需要返回每一个物品实际售出价格。
在线评测地址:
https://www.lintcode.com/problem/final-discounted-price/?utm_source=sc-csdn-fks
示例 1:
输入:
Prices = [2, 3, 1, 2, 4, 2]]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 丢鸡蛋Ⅱ]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106624354</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106624354</guid><author>littlemong</author><pubDate>Mon, 08 Jun 2020 17:18:36 +0800</pubDate><description><![CDATA[【题目描述】
有一个n层的建筑。如果一个鸡蛋从第k层及以上落下，它会碎掉。如果从低于这一层的任意层落下，都不会碎。
有m个鸡蛋，用最坏的情况下实验次数最少的方法去找到k, 返回最坏情况下所需的实验次数。
在线评测地址: https://www.lintcode.com/problem/drop-eggs-ii/?utm_source=sc-csdn-fks
Example 1:
Input: m = 2, n = 100 
Output: 14

Example 2:
Input: m = 2, n = 3]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解]字节跳动面试题：有序数组的平方]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106528362</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106528362</guid><author>littlemong</author><pubDate>Wed, 03 Jun 2020 17:11:49 +0800</pubDate><description><![CDATA[【题目描述】
给定一个按非递减顺序排序的整数数组 A，返回每个数字的平方组成的新数组，要求也按非递减顺序排序。
1 &lt;= A.length &lt;= 10000
-10000 &lt;= A[i] &lt;= 10000
A 已按非递减顺序排序。
在线评测地址:
https://www.lintcode.com/problem/squares-of-a-sorted-array/?utm_source=sc-csdn-fks0603
样例
示例1
输入：[-4,-1,0,3,10]
输出：[0,1,]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 滴滴面试题：字符删除]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106502568</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106502568</guid><author>littlemong</author><pubDate>Tue, 02 Jun 2020 18:47:14 +0800</pubDate><description><![CDATA[【题目描述】
输入两个字符串，从第一字符串中删除第二个字符串中所有的字符
在线评测地址:
https://www.lintcode.com/problem/character-deletion/?utm_source=sc-csdn-fks0602
样例 :
输入:  str=”They are students”，sub=”aeiou”
输出: ”Thy r stdnts”

【题解】
用一个数组储存第二串中出现过的元素，然后遍历第一数组，将未出现在第二数组中的元素保存，最后输出答案
public cla]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解]  序列化Trie  · Trie Serialization]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106382669</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106382669</guid><author>littlemong</author><pubDate>Wed, 27 May 2020 15:25:12 +0800</pubDate><description><![CDATA[【题目描述】
给你一棵字典树，设计一种序列化的方式，并且同时要能够设计对应的展开方法。
在线评测地址:
https://www.lintcode.com/problem/trie-serialization/?utm_source=sc-csdn-fks0527
Example 1
Input: &lt;a&lt;b&lt;e&lt;&gt;&gt;c&lt;&gt;d&lt;f&lt;&gt;&gt;&gt;&gt;
Output: &lt;a&lt;b&lt;e&lt;&gt;&gt;c&lt;&gt;]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 寻找重复的数  · Find the Duplicate Number]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106359205</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106359205</guid><author>littlemong</author><pubDate>Tue, 26 May 2020 16:49:35 +0800</pubDate><description><![CDATA[【题目描述】
给出一个数组 nums 包含 n + 1 个整数，每个整数是从 1 到 n (包括边界)，保证至少存在一个重复的整数。假设只有一个重复的整数，找出这个重复的数。
在线评测地址:
https://www.lintcode.com/problem/find-the-duplicate-number/?utm_source=sc-csdn-fks0526
【样例】
样例 1:
输入:
[5,5,4,3,2,1]
输出:
5

样例 2:
输入:
[5,4,4,3,2,1]
输出:
4

【题解】
使]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] LRU缓存策略  · LRU Cache]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106334178</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106334178</guid><author>littlemong</author><pubDate>Mon, 25 May 2020 15:40:58 +0800</pubDate><description><![CDATA[题目描述】
为最近最少使用（LRU）缓存策略设计一个数据结构，它应该支持以下操作：获取数据和写入数据。


get(key) 获取数据：如果缓存中存在key，则获取其数据值（通常是正数），否则返回-1。


set(key, value) 写入数据：如果key还没有在缓存中，则写入其数据值。当缓存达到上限，它应该在写入新数据之前删除最近最少使用的数据用来腾出空闲位置。


最终, 你需要返回每次 get 的数据.
在线评测地址:
https://www.lintcode.com/problem/lru-ca]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106287824</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106287824</guid><author>littlemong</author><pubDate>Fri, 22 May 2020 17:32:24 +0800</pubDate><description><![CDATA[【题目描述】
根据前序遍历和中序遍历树构造二叉树.
在线评测地址:
https://www.jiuzhang.com/solution/construct-binary-tree-from-preorder-and-inorder-traversal/?utm_source=sc-csdn-fks0522
【样例】
样例 1:
输入：[],[]
输出：{}
解释：
二叉树为空


样例 2:
输入：[2,1,3],[1,2,3]
输出：{2,1,3}
解释：
二叉树如下
  2
 / \
1   3

【题]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 最长回文子串  · Longest Palindromic Substring]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106255547</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106255547</guid><author>littlemong</author><pubDate>Thu, 21 May 2020 13:56:16 +0800</pubDate><description><![CDATA[【题目描述】
给出一个字符串（假设长度最长为1000），求出它的最长回文子串，你可以假定只有一个满足条件的最长回文串。
在线评测地址:
https://www.lintcode.com/problem/longest-palindromic-substring/?utm_source=sc-csdn-fks0521
【样例】
样例 1:
输入:"abcdzdcab"
输出:"cdzdc"

样例 2:
输入:"aba"
输出:"aba"

【题解】
解法一：
基于中心点枚举的算法，时间复杂度 O(n^2)
]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 一致性哈希 II  · Consistent Hashing II]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106232050</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106232050</guid><author>littlemong</author><pubDate>Wed, 20 May 2020 11:47:55 +0800</pubDate><description><![CDATA[【题目描述】
在 Consistent Hashing I 中我们介绍了一个比较简单的一致性哈希算法，这个简单的版本有两个缺陷：

增加一台机器之后，数据全部从其中一台机器过来，这一台机器的读负载过大，对正常的服务会造成影响。
当增加到3台机器的时候，每台服务器的负载量不均衡，为1:1:2。

为了解决这个问题，引入了 micro-shards 的概念，一个更好的算法是这样：

将 360° 的区间分得更细。从 0~359 变为一个 0 ~ n-1 的区间，将这个区间首尾相接，连成一个圆。
当加入一台新的机]]></description><category></category></item><item><title><![CDATA[[leetcode/lintcode 题解] 有效回文 II · Valid Palindrome II]]></title><link>https://blog.youkuaiyun.com/littlemong/article/details/106220332</link><guid>https://blog.youkuaiyun.com/littlemong/article/details/106220332</guid><author>littlemong</author><pubDate>Tue, 19 May 2020 18:20:08 +0800</pubDate><description><![CDATA[【题目描述】
给一个非空字符串 s，你最多可以删除一个字符。判断是否可以把它变成回文串。
在线评测地址: https://www.lintcode.com/problem/valid-palindrome-ii/?utm_source=sc-csdn-fks
【样例】
样例 1:
输入: s = "aba"
输出: true
解释: 原本就是回文串

样例 2:
输入: s = "abca"
输出: true
解释: 删除 'b' 或 'c'

样例 3:
输入: s = "abc"
输出: false
解]]></description><category></category></item></channel></rss>