<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/libliuis</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; libliuis]]></copyright><item><title><![CDATA[LeetCode 650 只有两个键的键盘]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/84851098</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/84851098</guid><author>libliuis</author><pubDate>Thu, 06 Dec 2018 12:24:36 +0800</pubDate><description><![CDATA[LeetCode 

164.只有两个键的键盘

对于从1到n/2的可能子分组找最小值，递归思想。从一个子分组到最后的字符串，需要复制一次加粘贴n/i-1次，即一共n/i次。


class Solution {
public:
    int minSteps(int n) {
        if(n==1)return 0;
        if(n==2)return 2;
       ...]]></description><category></category></item><item><title><![CDATA[LeetCode 164. 最大间距]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81632023</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81632023</guid><author>libliuis</author><pubDate>Mon, 13 Aug 2018 16:27:37 +0800</pubDate><description><![CDATA[LeetCode 

164. 最大间距

因为追求线性复杂度，所以不可能用经典排序的算法，因此需要更巧妙地利用已知条件。 类似与抽屉原理。我们用O(n)预处理出数组的最大值maxn和最小值minn，那么最大的间距肯定在maxn-minn之间，有因为有n个数，所以每个数之间的平均距离为size=(maxn-minn)/n+1, 这是如果数组有序且元素都是等间距的时候的最大间距。因此我们一共要把数组...]]></description><category></category></item><item><title><![CDATA[LeetCode 84. 柱状图中最大的矩形 85. 最大矩形 221. 最大正方形]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81200769</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81200769</guid><author>libliuis</author><pubDate>Wed, 25 Jul 2018 13:19:41 +0800</pubDate><description><![CDATA[LeetCode 

84. 柱状图中最大的矩形 

这道题的思路很明确，首先遍历整个数组，找到数值最小元素的位置和值，那么包含这个位置的矩形的最大高度只能是这个最小值，矩形的宽度最大为整个数组的长度，能够存在的更大的矩形只能是不包含这个位置的其他矩形，即在最小位置的左侧和右侧分别进行以上操作，直到数组边界位置，用递归来解决，不断松弛最大矩形的面积。

参考快速排序的时间复杂度，算法时间复杂度为O...]]></description><category></category></item><item><title><![CDATA[LeetCode 32. 最长有效括号]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81132849</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81132849</guid><author>libliuis</author><pubDate>Fri, 20 Jul 2018 15:20:18 +0800</pubDate><description><![CDATA[LeetCode 

32. 最长有效括号

先正向获得所有的多余右括号位置，再反向获得所有的多余左括号位置，再插入-1(表示起始位置)和s.length()(表示结束位置)，然后将获得的矛盾位置数组排序，相邻位置之间的差值-1的最大值即为有效括号的最大长度。时间复杂度为O(nlogn).


class Solution {
public:
    int longestValidParenth...]]></description><category></category></item><item><title><![CDATA[LeetCode  3. 无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81132653</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81132653</guid><author>libliuis</author><pubDate>Fri, 20 Jul 2018 15:13:46 +0800</pubDate><description><![CDATA[LeetCode 

3. 无重复字符的最长子串

ASCII共有256个字符，所以设置256个标志位，记录这个字符上次出现的位置，初始为-1即未出现，用start记录当前子串的开始位置，如果当前字符上一次记录的位置小于start，那么更新当前字符记录的位置为当前位置;如果大于start，那么说明start开始的这个子串中重复包含了当前字符，松弛最大长度，start等于当前位置，开始寻找新的非重复...]]></description><category></category></item><item><title><![CDATA[LeetCode  2. 两数相加]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81048305</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81048305</guid><author>libliuis</author><pubDate>Sat, 14 Jul 2018 22:37:37 +0800</pubDate><description><![CDATA[LeetCode 2. 两数相加水题，dfs/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
pu...]]></description><category></category></item><item><title><![CDATA[LeetCode  1.两数之和]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/81048276</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/81048276</guid><author>libliuis</author><pubDate>Sat, 14 Jul 2018 22:32:46 +0800</pubDate><description><![CDATA[LeetCode 1.两数之和水题，暴力练手class Solution {
public:
    vector&amp;lt;int&amp;gt; twoSum(vector&amp;lt;int&amp;gt;&amp;amp; nums, int target) {
        vector&amp;lt;int&amp;gt;ans;
        for(int i=0;i&amp;lt;nums.size();i++)
        {...]]></description><category></category></item><item><title><![CDATA[在805的最后一晚]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/53871289</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/53871289</guid><author>libliuis</author><pubDate>Sun, 25 Dec 2016 18:27:43 +0800</pubDate><description><![CDATA[再见我心爱的805
在大连理工大学最后的几天，在研教楼805的最后一晚，在大工感情最深的就是研教楼805了，这了有太多美好的回忆与友谊，白驹过隙，本科阶段即将结束，希望毕业以后还能重回母校，也祝母校能够跨越式的发展，大工ACM也能实现出线的梦想，很遗憾我没能为这个梦想贡献出自己的力量，我恨我自己的懒惰虚荣，以后的我一定会更加踏实。Farewell my DUT， my ACM， my 805!!]]></description><category></category></item><item><title><![CDATA[在Ubuntu16.04下安装ROS Kinetic 环境配置时出现bash: /opt/ros/Kinetic/setup.bash: 没有那个文件或目录]]></title><link>https://blog.youkuaiyun.com/libliuis/article/details/53053394</link><guid>https://blog.youkuaiyun.com/libliuis/article/details/53053394</guid><author>libliuis</author><pubDate>Sun, 06 Nov 2016 11:02:37 +0800</pubDate><description><![CDATA[在Ubuntu16.04下安装ROS Kinetic 环境配置时出现bash: /opt/ros/Kinetic/setup.bash: 没有那个文件或目录
      博主刚刚接触ROS系统，照着网上的教程试着安装ROS Kinetic，但是在环境配置这一环节总是出现bash: /opt/ros/Kinetic/setup.bash: 没有那个文件或目录，用了网上找的所有方法却都没有成功，然后]]></description><category></category></item></channel></rss>