<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lcharon的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Lcharon</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Lcharon]]></copyright><item><title><![CDATA[auto和decltype]]></title><link>https://blog.csdn.net/Lcharon/article/details/85217218</link><guid>https://blog.csdn.net/Lcharon/article/details/85217218</guid><author>Lcharon</author><pubDate>Sat, 22 Dec 2018 21:41:48 +0800</pubDate><description><![CDATA[auto
auto：编译器通过初始值推断变量类型–auto定义的变量必须有初始值
//auto在同一语句中可以声明多个对象，但必须为同一类型
auto i = 0, *p = &amp;amp;i // 正确，均为int
auto sz = 0, tz = 3.1 // 错误

//auto使用引用作为初始值时，使用**引用对象的类型**作为auto类型
int &amp;amp;a = i;
auto x = ...]]></description><category></category></item><item><title><![CDATA[顶层底层const]]></title><link>https://blog.csdn.net/Lcharon/article/details/85215512</link><guid>https://blog.csdn.net/Lcharon/article/details/85215512</guid><author>Lcharon</author><pubDate>Sat, 22 Dec 2018 18:32:03 +0800</pubDate><description><![CDATA[C++随手记顶层底层const概念实例其他
顶层底层const
概念
以指针为例
顶层const (top level const) 指针本身是常量
底层const (low level const) 指针所指对象是常量
实例
int i = 0;
int *const p1 = &amp;amp;amp;amp;i; //顶层const，p1不可以改变，p1指向的对象可以改变
const int ci = 0； //底...]]></description><category></category></item><item><title><![CDATA[[LeetCode]669. Trim a Binary Search Tree]]></title><link>https://blog.csdn.net/Lcharon/article/details/79032745</link><guid>https://blog.csdn.net/Lcharon/article/details/79032745</guid><author>Lcharon</author><pubDate>Thu, 11 Jan 2018 12:19:56 +0800</pubDate><description><![CDATA[[LeetCode]669. Trim a Binary Search Tree

题目描述





思路

递归 
当前节点值未在规定范围内时，递归更新当前节点值到范围后，之后递归更新当前节点的左右子树

代码



#include

using namespace std;

struct TreeNode {
    int val;
    TreeNode* left;
    Tr]]></description><category></category></item><item><title><![CDATA[[LeetCode]746. Min Cost Climbing Stairs]]></title><link>https://blog.csdn.net/Lcharon/article/details/79032144</link><guid>https://blog.csdn.net/Lcharon/article/details/79032144</guid><author>Lcharon</author><pubDate>Thu, 11 Jan 2018 11:26:31 +0800</pubDate><description><![CDATA[[LeetCode]746. Min Cost Climbing Stairs

题目描述



思路

不能存在连续两个不选择的数，所以每次更新的公式为 
min(dp[i - 1] + cost[i], dp[i - 2], cost[i - 1]) 
考虑选择当前位置，或者选择前一位置的最优结果

代码



#include
#include
#include

using namespa]]></description><category></category></item><item><title><![CDATA[[LeetCode]264. Ugly Number II]]></title><link>https://blog.csdn.net/Lcharon/article/details/78831289</link><guid>https://blog.csdn.net/Lcharon/article/details/78831289</guid><author>Lcharon</author><pubDate>Mon, 18 Dec 2017 11:27:40 +0800</pubDate><description><![CDATA[[LeetCode]264. Ugly Number II题目描述思路动态规划，题目313的简单版 
题目313看这里 
 [LeetCode]313. Super Ugly Number代码#include<iostream>
#include<vector>
#include<algorithm>using namespace std;class Solution {
public:
    i]]></description><category></category></item><item><title><![CDATA[[LeetCode]313. Super Ugly Number]]></title><link>https://blog.csdn.net/Lcharon/article/details/78830809</link><guid>https://blog.csdn.net/Lcharon/article/details/78830809</guid><author>Lcharon</author><pubDate>Mon, 18 Dec 2017 10:53:56 +0800</pubDate><description><![CDATA[[LeetCode]313. Super Ugly Number题目描述思路动态规划 
保持结果序列递增，需要确保每次放入结果序列的数是当前乘积最小，当前的乘积是由产生序列的数和素数数组里的数乘积得到的，因此需要一个状态数组来保存对于素数数组里的每个数，乘到了数组里的第几个数，最终生成序列代码#include <iostream>
#include <vector>
#include <algori]]></description><category></category></item><item><title><![CDATA[[LeetCode]728. Self Dividing Numbers]]></title><link>https://blog.csdn.net/Lcharon/article/details/78813883</link><guid>https://blog.csdn.net/Lcharon/article/details/78813883</guid><author>Lcharon</author><pubDate>Fri, 15 Dec 2017 15:50:40 +0800</pubDate><description><![CDATA[[LeetCode]728. Self Dividing Numbers题目描述思路水题，遍历，每一位计算即可代码#include <iostream>
#include <vector>using namespace std;class Solution {
public:
    bool check(int num) {
        int temp = num, dig = 0;]]></description><category></category></item><item><title><![CDATA[[LeetCode]547. Friend Circles]]></title><link>https://blog.csdn.net/Lcharon/article/details/78781019</link><guid>https://blog.csdn.net/Lcharon/article/details/78781019</guid><author>Lcharon</author><pubDate>Tue, 12 Dec 2017 13:08:33 +0800</pubDate><description><![CDATA[[LeetCode]547. Friend Circles题目描述思路dfs 
对每个人未访问过的人，确定他最大的朋友圈范围，同时标记已经访问过的人，最后把所有的朋友圈结果加和即为结果代码#include <iostream>
#include <vector>
#include <algorithm>using namespace std;class Solution {
public:]]></description><category></category></item><item><title><![CDATA[[LeetCode]657. Judge Route Circle]]></title><link>https://blog.csdn.net/Lcharon/article/details/78775502</link><guid>https://blog.csdn.net/Lcharon/article/details/78775502</guid><author>Lcharon</author><pubDate>Mon, 11 Dec 2017 18:46:04 +0800</pubDate><description><![CDATA[[LeetCode]657. Judge Route Circle题目描述思路水题 一次遍历代码#include <iostream>
#include <string>
using namespace std;class Solution {
public:
    bool judgeCircle(string moves) {
        int row = 0,]]></description><category></category></item><item><title><![CDATA[[LeetCode]645. Set Mismatch]]></title><link>https://blog.csdn.net/Lcharon/article/details/78036244</link><guid>https://blog.csdn.net/Lcharon/article/details/78036244</guid><author>Lcharon</author><pubDate>Wed, 20 Sep 2017 00:57:46 +0800</pubDate><description><![CDATA[[LeetCode]645. Set Mismatch题目描述思路简单粗暴的方法，用哈希表统计即可优化 
1-n之间的数，只有一个重复，那么可以不消耗额外空间，在原数组做标记，1-n的数对应访问数组下标，访问过的数组元素就置负，当访问到的元素已经是负数时，说明当前当做下标的数是第二次出现了 
再次遍历数组，经过一轮标记后元素值仍为正数的数的下标对应的数，就是缺失的数了代码#include <iost]]></description><category></category></item><item><title><![CDATA[[LeetCode]633. Sum of Square Numbers]]></title><link>https://blog.csdn.net/Lcharon/article/details/78036210</link><guid>https://blog.csdn.net/Lcharon/article/details/78036210</guid><author>Lcharon</author><pubDate>Wed, 20 Sep 2017 00:39:13 +0800</pubDate><description><![CDATA[[LeetCode]633. Sum of Square Numbers题目描述思路有点类似tow sum 从两边找，low的边界是0，high的边界是输入num的平方根取证代码#include <iostream>
#include <vector>
#include <algorithm>using namespace std;class Solution {
public:
    bool]]></description><category></category></item><item><title><![CDATA[[LeetCode]654. Maximum Binary Tree]]></title><link>https://blog.csdn.net/Lcharon/article/details/77348377</link><guid>https://blog.csdn.net/Lcharon/article/details/77348377</guid><author>Lcharon</author><pubDate>Fri, 18 Aug 2017 00:38:35 +0800</pubDate><description><![CDATA[[LeetCode]654. Maximum Binary Tree题目描述思路参考了答案写法，用了栈 
若栈不为空，若栈顶元素小于当前值，贼一直更新当前值的左子节点，直至栈空或者栈顶元素不小于当前值 
之后，若栈不为空，栈顶元素右子节点为当前节点 
当前节点入栈 
知道遍历数组结束代码#include <iostream>
#include <vector>using namespace std;]]></description><category></category></item><item><title><![CDATA[[LeetCode]553. Optimal Division]]></title><link>https://blog.csdn.net/Lcharon/article/details/77343438</link><guid>https://blog.csdn.net/Lcharon/article/details/77343438</guid><author>Lcharon</author><pubDate>Thu, 17 Aug 2017 22:29:43 +0800</pubDate><description><![CDATA[[LeetCode]553. Optimal Division题目描述思路medium里的一道水题，遍历一次就好 
因为要得到除法运算的最大值 
所以分子尽可能大，分母尽可能小 
而且数组是降序排列的，所以第一个元素做分子，后面的连除做分母就是结果了代码#include <iostream>
#include <string>
#include <vector>using namespace std]]></description><category></category></item><item><title><![CDATA[linux查看/修改文件编码]]></title><link>https://blog.csdn.net/Lcharon/article/details/77336427</link><guid>https://blog.csdn.net/Lcharon/article/details/77336427</guid><author>Lcharon</author><pubDate>Thu, 17 Aug 2017 17:20:20 +0800</pubDate><description><![CDATA[查看文件编码
在Linux中查看文件编码可以通过以下几种方式：
1.在Vim中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题，那么你可以在
~/.vimrc 文件中添加以下内容：

set encoding=utf-8 fileencodings=ucs-bom,utf-8,c]]></description><category></category></item><item><title><![CDATA[linux awk 命令笔记]]></title><link>https://blog.csdn.net/Lcharon/article/details/77259592</link><guid>https://blog.csdn.net/Lcharon/article/details/77259592</guid><author>Lcharon</author><pubDate>Wed, 16 Aug 2017 20:24:57 +0800</pubDate><description><![CDATA[1 调用awk方式
  1.命令行方式 
  awk [-F  field-separator]  ‘commands’  input-file(s) 
  其中，commands 是真正awk命令，[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。 
  在awk中，文件的每一行中，由域分隔符分开的每一项称为一个域。通常，在不指名-F域分隔符的情况下，默认的域分隔符是空格。]]></description><category></category></item><item><title><![CDATA[[LeetCode]540. Single Element in a Sorted Array]]></title><link>https://blog.csdn.net/Lcharon/article/details/76652082</link><guid>https://blog.csdn.net/Lcharon/article/details/76652082</guid><author>Lcharon</author><pubDate>Thu, 03 Aug 2017 22:55:04 +0800</pubDate><description><![CDATA[[LeetCode]540. Single Element in a Sorted Array题目描述思路开始的想法，直接用位操作，异或即可得到结果，但是需要o(n)时间 
题目要求是o(logn)，并且给出数组是有序的，因此可以使用二分的方法来做对于整个数组，取mid，如果mid为偶数，判断mid值是否和mid+1相等，如果相等，则说明只出现一次的数在右边，需要向右边找，原因，mid为偶数时，分割]]></description><category></category></item><item><title><![CDATA[[LeetCode]647. Palindromic Substrings]]></title><link>https://blog.csdn.net/Lcharon/article/details/76647323</link><guid>https://blog.csdn.net/Lcharon/article/details/76647323</guid><author>Lcharon</author><pubDate>Thu, 03 Aug 2017 19:39:31 +0800</pubDate><description><![CDATA[[LeetCode]647. Palindromic Substrings题目描述思路
简单暴力遍历
减少比较次数，将外层循环遍历的每个元素当作中间值，左右分别伸展，考虑奇数和偶数长度的字符串情况
代码#include <iostream>
#include <string>using namespace std;class Solution {
public:
    /*
    bool is]]></description><category></category></item><item><title><![CDATA[[LeetCode]515. Find Largest Value in Each Tree Row]]></title><link>https://blog.csdn.net/Lcharon/article/details/76359854</link><guid>https://blog.csdn.net/Lcharon/article/details/76359854</guid><author>Lcharon</author><pubDate>Sun, 30 Jul 2017 00:24:48 +0800</pubDate><description><![CDATA[[LeetCode]515. Find Largest Value in Each Tree Row题目描述思路递归，深度优先 
使用数组存储对应层的最大值代码#include <iostream>
#include <vector>
#include <algorithm>using namespace std;struct TreeNode {
    int val;
    TreeNode]]></description><category></category></item><item><title><![CDATA[[LeetCode]526. Beautiful Arrangement]]></title><link>https://blog.csdn.net/Lcharon/article/details/76167846</link><guid>https://blog.csdn.net/Lcharon/article/details/76167846</guid><author>Lcharon</author><pubDate>Thu, 27 Jul 2017 00:04:56 +0800</pubDate><description><![CDATA[[LeetCode]526. Beautiful Arrangement题目描述思路递归 
对于长度为n的数组，初始化为1，2，3，…，n的形式的数组 
扫描数组，当前值满足条件时，与末位交换 
然后判断n-1长度的数组的完美个数 
直到n=1时，完美数组是1个，递归终止条件。遵循的规律，每次发生交换后，数组必然为完美数组，原因？代码#include <iostream>
#include <vec]]></description><category></category></item><item><title><![CDATA[[LeetCode]28. Implement strStr()]]></title><link>https://blog.csdn.net/Lcharon/article/details/76039761</link><guid>https://blog.csdn.net/Lcharon/article/details/76039761</guid><author>Lcharon</author><pubDate>Tue, 25 Jul 2017 00:26:45 +0800</pubDate><description><![CDATA[[LeetCode]28. Implement strStr()题目描述思路kmp算法实现 
参考： 
http://blog.csdn.net/v_july_v/article/details/7041827 
http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html代码#inc]]></description><category></category></item></channel></rss>