<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Martin_Tai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Martin_Tai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Martin_Tai]]></copyright><item><title><![CDATA[macos安装homebrew]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/129786533</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/129786533</guid><author>Martin_Tai</author><pubDate>Sun, 26 Mar 2023 23:11:39 +0800</pubDate><description><![CDATA[参照清华源。]]></description><category></category></item><item><title><![CDATA[Vue笔记]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118810249</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118810249</guid><author>Martin_Tai</author><pubDate>Fri, 16 Jul 2021 17:17:07 +0800</pubDate><description><![CDATA[Vue Notes
指令
v-bind 的缩写 :
v-on 的缩写 @
v-html 表示将双大括号Mustache的内容当成html来解析
Mustache语法不能用在属性上，属性上要用v-bind
模板内的表达式非常便利，但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护
so:
对于任何复杂逻辑，你都应当使用计算属性。
计算属性 vs 方法
应用场景：联动的情况下，使用计算属性
并不是说有了计算属性就不需要watch了 存在即合理！！
计算属性默认只要getter方法，]]></description><category></category></item><item><title><![CDATA[力扣-206:反转链表 [手写步骤]]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118773604</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118773604</guid><author>Martin_Tai</author><pubDate>Fri, 16 Jul 2021 00:55:38 +0800</pubDate><description><![CDATA[解题思路


代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), ]]></description><category></category></item><item><title><![CDATA[leetcode Line 14: Char 5: fatal error: control may reach end of non-void function [Solved]]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118770872</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118770872</guid><author>Martin_Tai</author><pubDate>Thu, 15 Jul 2021 22:47:31 +0800</pubDate><description><![CDATA[错误症状

原因

这个错误提示说 返回值的问题 是void? 然而方法是有返回值的 所以要进行返回一个值

解决
加上返回值 return

]]></description><category></category></item><item><title><![CDATA[vscode mac 使用]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118730602</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118730602</guid><author>Martin_Tai</author><pubDate>Wed, 14 Jul 2021 16:17:18 +0800</pubDate><description><![CDATA[快捷键
contrl - 回到上一个位置
control j 打开、关闭terminal

]]></description><category></category></item><item><title><![CDATA[力扣-405. 数字转换为十六进制数]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118723221</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118723221</guid><author>Martin_Tai</author><pubDate>Wed, 14 Jul 2021 11:09:13 +0800</pubDate><description><![CDATA[解题思路
看到discussion中most vote的题解之后，我震惊????了！！

用string HEX 代替我写的unorder_map&lt;int,string&gt;
可以将全局的变量写在Solution的上面，我一直以为只能写在Solution里面
确定是十进制转十六进制？我怎么觉得是十进制转二进制，然后二进制转十六进制

代码
const string HEX = "0123456789abcdef";
class Solution {
public:
    string toHex(]]></description><category></category></item><item><title><![CDATA[力扣168-Excel表列名称]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118723171</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118723171</guid><author>Martin_Tai</author><pubDate>Wed, 14 Jul 2021 11:07:31 +0800</pubDate><description><![CDATA[力扣168
解题思路
规律很简单就是26个字母 进行除法和求余
A-Z
AA-AZ
BA-BZ
…
ZA-ZZ
AAA-AZZ
BAA-BZZ
…
本质上就是数数【26进制的数数 或者理解成十进制转为26进制】，从A数到Z，然后加1变成AA
即Z+1 = A
除法是为了计算处于第几段A-Z区间
求余是为了确定在A-Z的那个字母
运用divide and conquer的思想，大的数除掉26之后变成小的数 然后递归调用
这里的减一可以理解为 因为A表示1 所以 减1 表示到A的距离
代码
class Solu]]></description><category></category></item><item><title><![CDATA[C++ 之 bitset]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118721549</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118721549</guid><author>Martin_Tai</author><pubDate>Wed, 14 Jul 2021 10:19:52 +0800</pubDate><description><![CDATA[bitset
初始化:告诉bitset模板你要存储的是多少个位。
bitset&lt;32&gt; b(-1);
cout&lt;&lt;b.to_string()&lt;&lt;endl;


]]></description><category></category></item><item><title><![CDATA[算法复杂度计算总结]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118719668</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118719668</guid><author>Martin_Tai</author><pubDate>Wed, 14 Jul 2021 09:12:36 +0800</pubDate><description><![CDATA[logN&lt;N&lt;NlogN&lt;n2&lt;n! logN &lt; N &lt; NlogN &lt; n^2 &lt; n! logN&lt;N&lt;NlogN&lt;n2&lt;n!


]]></description><category></category></item><item><title><![CDATA[力扣191-位的个数 使用位运算击败了100%的用户]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118645346</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118645346</guid><author>Martin_Tai</author><pubDate>Sun, 11 Jul 2021 01:29:20 +0800</pubDate><description><![CDATA[力扣191-位的个数
解题思路
1011 判断有多少个1
先1011 与 1 就可以判断末位是否为1  因为
1011
&amp; 0001
0001
然后1011 向左移位变成0101
重复这个过程知道n为0
代码
class Solution {
public:
    int hammingWeight(uint32_t n) {
        int count = 0;
        while (n!=0) {
            u_int32_t re = n &amp; 1;
  ]]></description><category></category></item><item><title><![CDATA[力扣171-Excel表加序号]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118644734</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118644734</guid><author>Martin_Tai</author><pubDate>Sun, 11 Jul 2021 01:00:40 +0800</pubDate><description><![CDATA[力扣171
解题思路
进制转换 26进制转10进制
代码
class Solution {
public:
    int titleToNumber(string columnTitle) {
        int result = 0;
        int size = columnTitle.length();
        for (int i = 0; i&lt;size;i++){
//            cout&lt;&lt;columnTitle[i]&lt;&lt;":"&l]]></description><category></category></item><item><title><![CDATA[力扣111-最小深度：直白的递归打败了99.79%的用户]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118642303</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118642303</guid><author>Martin_Tai</author><pubDate>Sat, 10 Jul 2021 22:55:48 +0800</pubDate><description><![CDATA[力扣111-最小深度
解题思路
这道题不能简单理解为如果根节点不为空，然后计算左子树的最小深度left，计算右子树的最小深度
然后比较两者，返回最小值+1
最小的情况要注意！！！
如果左子树为空右子树不为空，那按照上面的逻辑最小深度为左子树深度0 + 1
这样就不正确了
所以

两个子树都为空，那么返回1
如果有一个子树为空，那么返回另一个非空子树的深度 + 1即可
如果两个子树都不为空，那么返回最小的深度 + 1
如果根节点为空，那么返回0

代码
/**
 * Definition for a bina]]></description><category></category></item><item><title><![CDATA[队列，我小看了你！！！]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118560204</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118560204</guid><author>Martin_Tai</author><pubDate>Wed, 07 Jul 2021 23:47:15 +0800</pubDate><description><![CDATA[力扣101
解题思路
平时使用vector比较多，反而将队列给生疏了。
在练习了102-二叉树的层序遍历之后，再写这道题，能够更好的明白队列的使用。
好像队列和树相结合的运用比较多。
队列的特点就是先进先出。就相当于告诉内存 hey body,我现在还不知道我要怎么处理这些数据，但是我知道某个点我会来处理的。
你要在我需要处理的时候，按照我给你的顺序给我哦！
我突然明白循环不变量是什么了。
循环不变量是因为循环结构中，需要保持处理步骤可迭代，即可循环处理。
而不单单指的是某个变量。
Am i right??]]></description><category></category></item><item><title><![CDATA[力扣102-二叉树的层序遍历 背下来]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118482735</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118482735</guid><author>Martin_Tai</author><pubDate>Mon, 05 Jul 2021 10:03:35 +0800</pubDate><description><![CDATA[力扣102 二叉树的层序遍历
解题思路
使用queue进行层序遍历，queue保存着当前层的所有结点
count表示当前层的所有结点的个数。不能用q.size()来替换，因为在while循环中需要将当前层的节点的孩子结点同时进队列，这样导致每层的数量不正确。
顺序：

将根节点入队，count为1-表示当前层只有一个节点
循环处理该队列，直到队列为空
取队列头，将该节点的孩子节点入队
每层的节点信息保存在row_nodes中，count减一
至此，当前节点已经没用了，抛出pop
判断count是否为0
如果]]></description><category></category></item><item><title><![CDATA[Qt基础-添加资源文件和使用icon]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118469151</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118469151</guid><author>Martin_Tai</author><pubDate>Sun, 04 Jul 2021 22:56:56 +0800</pubDate><description><![CDATA[1. 添加资源文件
在项目上右击，点击Add New

选中Qt 然后选中Qt Resource File 资源文件，选择choose 然后输入资源文件名 如images

2. 添加前缀

然后将资源文件拷贝到当前文件夹下

3.添加文件


4.使用资源文件
    this-&gt;new_action-&gt;setIcon(QIcon(":/images/new.png"));



...]]></description><category></category></item><item><title><![CDATA[力扣112-路径总和-递归]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118469088</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118469088</guid><author>Martin_Tai</author><pubDate>Sun, 04 Jul 2021 22:46:52 +0800</pubDate><description><![CDATA[112-路径总和
解题思路
树的题很大程度上要使用到递归。
本质上这道题可以转换为寻找target值，因为已知targetsum值，只需要减去node的val值，即为target值
和two sum差不多的想法。
考虑基准情况，如果root为空，则返回false
如果只有root一个节点，那么判断root的val是否等于target即可。其中，只有一个节点的条件是左子树为空，右子树为空。
其他情况看看左子树找不找的到，右子树找不找得到。
代码
/**
 * Definition for a binary t]]></description><category></category></item><item><title><![CDATA[力扣136-只出现一次的数字 XOR异或解法]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118468986</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118468986</guid><author>Martin_Tai</author><pubDate>Sun, 04 Jul 2021 22:38:38 +0800</pubDate><description><![CDATA[136-只出现一次的数字
解题思路
自己先尝试着解这道题，基于我现在的认知，能想到的就是
如果测试数据为 4 1 2 1 2
先排序，1 1 2 2 4
由于题目出现的是除了单独的那个数其他都出现两次。
所以只需要判断当前的数和后面的数是否一样即可，如果一样，则跳过这两个数，不一样就是单独的那个数。
这里只需要注意最后一个数的处理就可以了，即当前的数为2 后面的那个数也为2 那下次循环就会直接到4
但是4之后再也没有其他的数，所以4此时就是单独的数。即最后返回最后一个数即可。
时间复杂度为O(nlogn +]]></description><category></category></item><item><title><![CDATA[重新开始吧]]></title><link>https://blog.youkuaiyun.com/Martin_Tai/article/details/118446631</link><guid>https://blog.youkuaiyun.com/Martin_Tai/article/details/118446631</guid><author>Martin_Tai</author><pubDate>Sat, 03 Jul 2021 23:15:37 +0800</pubDate><description><![CDATA[和过去说了拜拜之后，就要重新开始生活。
加油，你可以的。

]]></description><category></category></item></channel></rss>