<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Gary的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_44192588</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_44192588]]></copyright><item><title><![CDATA[LeetCode 75. 颜色分类]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/108953888</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/108953888</guid><author>qq_44192588</author><pubDate>Wed, 07 Oct 2020 18:50:41 +0800</pubDate><description><![CDATA[分析： 所有情况共三种，分别为0 1 2，我们要做的是给它们从小到大排序
解题：


在遍历的时候将为0(最小)的元素先删除然后加入到数组开头


在遍历的时候将为2(最大)的元素先删除然后加入到数组末尾，此时需要注意遍历的下标和数组长度变化需要作相应调整


0都在最前面,2都在最后面，剩下的1就在中间不用管了，也就排序好了


优化： 遍历的判断第一遍用的if，感觉过于累赘改用三目运算符(利用其短路效果)，看起来舒服多了。
github地址 每日持续更新题解，前期有C++版本和JavaScript双版本]]></description><category></category></item><item><title><![CDATA[LeetCode 12. 整数转罗马数字]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/107849778</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/107849778</guid><author>qq_44192588</author><pubDate>Thu, 06 Aug 2020 21:07:34 +0800</pubDate><description><![CDATA[题目不难，关键是找对单位，如 900 400 90 40 9 4,然后模拟减法循环走一遍
github地址 每日持续更新题解，前期有C++版本和JavaScript双版本，现持续更新JavaScript版本，欢迎star

JS代码
/**
 * @param {number} num
 * @return {string}
 */
// 题目不难，关键是找对单位数字 如 900 400 90 40 9 4对应的情况
// 模拟减法循环走一遍，
var intToRoman = function(num).]]></description><category></category></item><item><title><![CDATA[LeetCode 22. 括号生成]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/107825488</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/107825488</guid><author>qq_44192588</author><pubDate>Wed, 05 Aug 2020 21:24:07 +0800</pubDate><description><![CDATA[很经典的dfs+剪枝题

dfs递归查找，先找左括号，再找右括号
先对左子树进行搜索，当左括号数&gt;右括号数，必定不符合要求，剪掉
当左右括号数都为0，结束递归

github地址 每日持续更新题解，前期有C++版本和JavaScript双版本，现持续更新JavaScript版本，欢迎star
JS代码：
var generateParenthesis = function(n) {
    let res= []
    dfs('',n,n,res)
    return  res
};

func]]></description><category></category></item><item><title><![CDATA[LeetCode 1233. 删除子文件夹]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/107795723</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/107795723</guid><author>qq_44192588</author><pubDate>Tue, 04 Aug 2020 19:19:20 +0800</pubDate><description><![CDATA[代码量少，言简意赅,一把AC

github地址 每日持续更新题解，前期有C++版本和JavaScript双版本，现持续更新JavaScript版本，欢迎star

先排序，同时定义一个Set和一个数组，存放排序后的第一个值
用forEach循环，每次和数组最后一个比较，因为排序好了的，所以数组最后一项长度&lt;=要比较那项的长度
比较过程中会出现两种情况，一是正常的，如/a/b和/a/c;二是特殊的，如/a/b和/a/bc，两种情况两种判断方法
我在上一步处理两种情况时，如果用数组添加会出现重复情况，于]]></description><category></category></item><item><title><![CDATA[Client does not support authentication protocol requested by server]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/107399356</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/107399356</guid><author>qq_44192588</author><pubDate>Fri, 17 Jul 2020 03:15:30 +0800</pubDate><description><![CDATA[Navicat连接报错 Client does not support authentication protocol requested by server

由于个人电脑原因，mysql5.7被我废了，这次又换回了mysql8.0。安装过程中有个坑踩了挺久：我走的是之前mysql本地服务，但是服务路径还没有改过来=，需要先卸载掉之前的mysql本地服务，再重新安装mysql8.0的服务，不然mysql8.0服务起不来


安装完mysql8.0以后，利用初始密码换了个新密码
用Navicat可视化工具连]]></description><category></category></item><item><title><![CDATA[[Err] 1292 - Incorrect datetime value: 0000-00-00 00:00:00 for column xxx at row 1]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106954079</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106954079</guid><author>qq_44192588</author><pubDate>Thu, 25 Jun 2020 02:27:12 +0800</pubDate><description><![CDATA[1.错误提示
[Err] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'created_at' at row 1

2.分析原因
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之前就已经遇过几次这种报错提示了，今天它又蹦出来了，为了养成做笔记的习惯在这里做个小小的记录，顺便蹭蹭访问量~

上述报错中可以看出给datetime这种类型的字段赋值为 0000-00-00 00]]></description><category></category></item><item><title><![CDATA[CSS中使用link和@important的区别]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106894200</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106894200</guid><author>qq_44192588</author><pubDate>Mon, 22 Jun 2020 01:00:01 +0800</pubDate><description><![CDATA[CSS中使用link和@important的区别

从属关系：link是HTML标签，可以通过rel="alternate stylesheet"指定候选样式，而@important是CSS提供的
加载顺序： 页面被加载时，link会同时被加载，而@import引用的CSS会等到页面被加载完再加载， @important必须在样式规则之前，可以在CSS文件中引入其他文件
加载区别：link最大限度支持并行下载，@important嵌套过多会导致串行下载，出现FOUC（用户定义样式表加载之前浏览器使用默认样式]]></description><category></category></item><item><title><![CDATA[CSS样式中的 & 是什么作用？]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106111301</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106111301</guid><author>qq_44192588</author><pubDate>Thu, 14 May 2020 03:12:16 +0800</pubDate><description><![CDATA[CSS样式中的 &amp; 是什么作用？
写在前面： 当我在CSS样式中看到 &amp; ，我是十分懵逼的，不过搜索了一下就觉得不过如此。
贴个CSS代码进行讲解
.box{
		&amp;:before{
			border-color: red;
		}
		&amp;:after{
			border-color: green;
		}
	}

解析：
&nbsp;&nbsp;&nbsp;&nbsp;&amp; 表示在嵌套层次中回溯一层，即
&nbsp;&nbsp;&nbsp;&nbsp;&amp;:]]></description><category></category></item><item><title><![CDATA[浅谈单页面应用和多页面应用]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106031177</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106031177</guid><author>qq_44192588</author><pubDate>Sun, 10 May 2020 04:03:50 +0800</pubDate><description><![CDATA[写在前面：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这些年前端发展非常快，新的理念和框架不断产出和发展，如当今火爆的Vue和React这样的单页面应用框架。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;那么大家对于单页面应用和多页面应用是否有系统的认知呢？如果你对二者的概念还很模糊，那么本文将带着大家从区别和对比的角度彻底搞定它们。
什么是单页面应用？
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]]></description><category></category></item><item><title><![CDATA[LeetCode 812. 最大三角形面积]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106010809</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106010809</guid><author>qq_44192588</author><pubDate>Sat, 09 May 2020 03:11:36 +0800</pubDate><description><![CDATA[写在前面: 三个for循环暴力求解，用到了高中学过的海伦公式，吐槽一下力扣C++测试点又bug了，本地执行代码过了测试点，然后提交平台给我报错。。。这种水题害我调试半天，还是改点代码用JS写一把过的
这是我的 力扣github仓库 ，有JavaScript和C++两个版本，每日更新。觉得有用的朋友请点点star~
C++代码
class Solution {
public:
    double largestTriangleArea(vector&lt;vector&lt;int&gt;&gt;&amp;]]></description><category></category></item><item><title><![CDATA[LeetCode 976. 三角形的最大周长]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/106010627</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/106010627</guid><author>qq_44192588</author><pubDate>Sat, 09 May 2020 01:28:31 +0800</pubDate><description><![CDATA[写在前面： 水题+1，其实可以用默认排序，然后遍历的时候逆序遍历。我特意把排序倒过来写的，算是复习一把C++和JS自带排序如何使用（其实是查出来的，我又忘了）
C++代码
class Solution {
public:
    int compare(int num1,int num2){
        if(num1&lt;num2)
            return -1;
        else if(num1&gt;num2)
            return 1;
        e]]></description><category></category></item><item><title><![CDATA[LeetCode 142. 环形链表 II]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105983847</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105983847</guid><author>qq_44192588</author><pubDate>Thu, 07 May 2020 23:23:11 +0800</pubDate><description><![CDATA[写在前面： 这道题有很多解法，不乏一些心机解法，比如在内存充足情况下(正常来讲是充足的)利用链表内存顺序存取，堆的地址又是从低到高，如果链表有环，则head-&gt;next小于或者等于head。比较正常的解法应该会用到set这种数据结构，我这题是纯用数学方法。

定义快慢指针指向头结点，快指针速度是慢指针两倍
设头结点到环的起点距离为a,环的起点到两指针第一次相遇的点距离为b,两指针相遇的点再到...]]></description><category></category></item><item><title><![CDATA[对前端的一些思考]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105926982</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105926982</guid><author>qq_44192588</author><pubDate>Thu, 07 May 2020 15:17:49 +0800</pubDate><description><![CDATA[写在前面： 小程序做了漫长一段时间了，业务也处理了很多，但好像每次都是在赶进度，很少停住脚步回顾，今天就粗浅地谈谈对小程序工程化的一点见解（择日出详细的文章专门讲）
前端层次结构的分明
在零几是没有纯前端的概念的，随着客户端的不断发展，用户体验也越来越受到重视，前后端分离，那时候前端三样式：HTML：页面骨架、CSS：页面化妆、JS：处理业务逻辑
细讲页面的JS文件真的适合写业务逻辑嘛？
非玩具型...]]></description><category></category></item><item><title><![CDATA[LeetCode 155. 最小栈]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105911925</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105911925</guid><author>qq_44192588</author><pubDate>Mon, 04 May 2020 01:10:22 +0800</pubDate><description><![CDATA[写在前面： 用了两个栈，一个栈用于存储数据，另外一个用于维护最小值，很迷的操作是我JS代码又没AC，同一个测试数据，本地结果一样，提交就是报错，第二次遇上这种事儿了，严重怀疑这是平台的锅
欢迎关注我的 力扣github仓库，有JavaScript和C++两个版本，每日更新
C++代码：
class MinStack {
public:
    /** initialize your data st...]]></description><category></category></item><item><title><![CDATA[LeetCode 53. 最大子序和]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105911100</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105911100</guid><author>qq_44192588</author><pubDate>Sun, 03 May 2020 23:55:59 +0800</pubDate><description><![CDATA[写在前面： 这是力扣上的一道easy题，这种求最大子序列的题很经典，解法也有很多，我这种方法应该属于动态规划的思想，具体思路在js代码中注释了，欢迎交流~
我的力扣github仓库，有JavaScript和C++两个版本，每日更新，觉得有用的同学请点个star~
C++代码：
class Solution {
public:
    int maxSubArray(vector&lt;int&gt...]]></description><category></category></item><item><title><![CDATA[简述Git和SVN的区别]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105879734</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105879734</guid><author>qq_44192588</author><pubDate>Sat, 02 May 2020 01:54:18 +0800</pubDate><description><![CDATA[写在前面： git和svn是目前最常用的团队协作的版本控制系统,这篇博客主要讲二者的优缺点 (区别)
定义

Git： 开源的分布式版本控制系统

下图是git的工作流程


SVN： 远程集中式的版本控制系统

下图是SVN的工作流程

Git优缺点
优点：

分布式，每个参与开发的人的电脑上都有一个完整的仓库，不担心中央服务器的问题
在没有网络的情况下仍可以进行一系列协作操作，只需在有网络情况...]]></description><category></category></item><item><title><![CDATA[LeetCode 2. 两数相加]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105829380</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105829380</guid><author>qq_44192588</author><pubDate>Wed, 29 Apr 2020 01:45:18 +0800</pubDate><description><![CDATA[写在前面： 思路和之前写过的一个链表两数相加是一样的，就是注意满十进一的临界条件
欢迎访问我的力扣github仓库，有JavaScript和C++两个版本，每日更新
C++代码：
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     L...]]></description><category></category></item><item><title><![CDATA[LeetCode 121. 买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105828940</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105828940</guid><author>qq_44192588</author><pubDate>Wed, 29 Apr 2020 00:42:05 +0800</pubDate><description><![CDATA[写在前面： 第一遍两个for循环暴力，后优化成一个for循环，栈动态取最小值，定义差值求最大收益
欢迎关注我的力扣github仓库，有JavaScript和C++两个版本，每日更新
C++代码：
class Solution {
public:
    int maxProfit(vector&lt;int&gt;&amp; prices) {
        if(!prices.size())...]]></description><category></category></item><item><title><![CDATA[LeetCode 1021. 删除最外层的括号]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105781248</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105781248</guid><author>qq_44192588</author><pubDate>Mon, 27 Apr 2020 00:31:01 +0800</pubDate><description><![CDATA[写在前面： 挺简单的一道栈应用，定义一个string来记录结果，用栈记录过程就行了,需要加两个判断来去掉外围的括号
欢迎关注我的力扣github仓库，有JavaScript和C++两个版本，每日更新
C++代码：
class Solution {
public:
    string removeOuterParentheses(string S) {
        string res;
  ...]]></description><category></category></item><item><title><![CDATA[在小程序中通过腾讯地图API获取定位进行地址解析]]></title><link>https://blog.youkuaiyun.com/qq_44192588/article/details/105768144</link><guid>https://blog.youkuaiyun.com/qq_44192588/article/details/105768144</guid><author>qq_44192588</author><pubDate>Sun, 26 Apr 2020 15:27:54 +0800</pubDate><description><![CDATA[本文讲解如何调用腾讯地图API在小程序中获取定位进行地址解析
注册账号并申请开发者秘钥 申请地址
保存这个好key，小程序调用时需要用到

提交之后进行key设置，启用产品勾选 微信小程序 和 WebserviceAPI (小程序调用需要用到)，保存之后即创建成功，可查看相应的配额信息

这个根据需求而定，如果只是个人玩玩，免费额度应该是够用的，如果不够用可以再申请额外的免费配额，如果是企业开发者...]]></description><category></category></item></channel></rss>