<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a1234name的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a1234name</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a1234name]]></copyright><item><title><![CDATA[Go gorm和go-redis使用]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/112365202</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/112365202</guid><author>a1234name</author><pubDate>Fri, 08 Jan 2021 15:39:14 +0800</pubDate><description><![CDATA[用的是go mod管理包
先go mod init 模块名，初始化生成go.mod文件
直接在包里引入需要的包名，在执行相关的go run或go build命令，会自动将你引入的包下载下来，并在go.mod和go.sum文件中记录相关的包信息
这里主要是使用了gorm包和go-redis包连接和操作mysql、redis数据库
gorm先是尝试了1.9.16版本的，批量插入和in查询都有点问题，后面下载使用1.20.9版本之后，都没什么问题了，1.20之后引入包名的路径变了，在使用gorm时，也要引入相关数]]></description><category></category></item><item><title><![CDATA[剑指 Offer 28. 对称的二叉树]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107927634</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107927634</guid><author>a1234name</author><pubDate>Tue, 11 Aug 2020 09:29:23 +0800</pubDate><description><![CDATA[请实现一个函数，用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样，那么它是对称的。
例如，二叉树 [1,2,2,3,4,4,3] 是对称的。
1

/ 
2   2
/ \ / 
3  4 4  3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1

/ 
2   2
\   
3    3
示例 1：
输入：root = [1,2,2,3,4,4,3]
输出：true

示例 2：
输入：root = [1,2,2,null,3,null,3]
输出：false]]></description><category></category></item><item><title><![CDATA[剑指 Offer 27. 二叉树的镜像]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107830927</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107830927</guid><author>a1234name</author><pubDate>Thu, 06 Aug 2020 09:17:44 +0800</pubDate><description><![CDATA[请完成一个函数，输入一个二叉树，该函数输出它的镜像。
例如输入：
 4

/   
2     7
/ \   / 
1   3 6   9
镜像输出：
 4

/   
7     2
/ \   / 
9   6 3   1
示例 1：
输入：root = [4,2,7,1,3,6,9]
输出：[4,7,2,9,6,3,1]

限制：
0 &lt;= 节点个数 &lt;= 1000

这个题其实不难，看了一会就有思路了，只要看通了就不难，刚开始也是被二叉树的题吓到，细心一想求他的镜像，不就是把他的lef]]></description><category></category></item><item><title><![CDATA[剑指 Offer 25. 合并两个排序的链表]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107807603</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107807603</guid><author>a1234name</author><pubDate>Wed, 05 Aug 2020 09:59:14 +0800</pubDate><description><![CDATA[输入两个递增排序的链表，合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1：
输入：1-&gt;2-&gt;4, 1-&gt;3-&gt;4
输出：1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4

限制：
0 &lt;= 链表长度 &lt;= 1000

这个合并链表的思路其实不难，就是遍历两个链表，只有两个都为空的时候才遍历完成，每次都比较l1和l2当前节点的大小，小的那个就直接存入新链表就行，直到遍历完成，返回新链表
思路就是那样，关键是看你怎么去写，刚开始想了很多以为很难写，其]]></description><category></category></item><item><title><![CDATA[剑指 Offer 24. 反转链表]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107756349</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107756349</guid><author>a1234name</author><pubDate>Mon, 03 Aug 2020 09:28:27 +0800</pubDate><description><![CDATA[定义一个函数，输入一个链表的头节点，反转该链表并输出反转后链表的头节点
示例:
输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL
输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL
 
限制：
0 &lt;= 节点个数 &lt;= 5000

这种数据结构的题感觉有点坑，在本地又不好测，提交上去出问题了也不知道哪里出问题了，也调试不到，我就被坑到了，本来刚开始按自己的思路写出来双指针的解法，可是怎么也过不了，看了题解，照着写也还是出问题，我感觉应该一个是]]></description><category></category></item><item><title><![CDATA[剑指 Offer 22. 链表中倒数第k个节点]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107655225</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107655225</guid><author>a1234name</author><pubDate>Wed, 29 Jul 2020 09:46:41 +0800</pubDate><description><![CDATA[输入一个链表，输出该链表中倒数第k个节点。为了符合大多数人的习惯，本题从1开始计数，即链表的尾节点是倒数第1个节点。例如，一个链表有6个节点，从头节点开始，它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
示例：

给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 k = 2.
返回链表 4-&gt;5

这个题我看到首先想到的思路是先遍历一下链表，计算出链表的长度，再用长度和k计算出该把哪个值赋值为头节点
要注意的是，计算链表长度时，是从1开始不是0，]]></description><category></category></item><item><title><![CDATA[剑指 Offer 21. 调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107629331</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107629331</guid><author>a1234name</author><pubDate>Tue, 28 Jul 2020 09:56:37 +0800</pubDate><description><![CDATA[输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。
示例：
输入：nums = [1,2,3,4]
输出：[1,3,2,4] 
注：[3,1,2,4] 也是正确的答案之一

1 &lt;= nums.length &lt;= 50000
1 &lt;= nums[i] &lt;= 10000

这个题刚开始一看着就想到了思路就是一直在想怎么快一点，后面就写了一个整体遍历的只处理偶数，奇数不管，直接将偶数往后放就行了
还有一种思路是从两边开始找]]></description><category></category></item><item><title><![CDATA[剑指 Offer 18. 删除链表的节点]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107604491</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107604491</guid><author>a1234name</author><pubDate>Mon, 27 Jul 2020 09:25:48 +0800</pubDate><description><![CDATA[给定单向链表的头指针和一个要删除的节点的值，定义一个函数删除该节点。
返回删除后的链表的头节点。
注意：此题对比原题有改动
示例 1:
输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点，那么在调用了你的函数之后，该链表应变为 4 -&gt; 1 -&gt; 9.

示例 2:
输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点，那么在调用了你的函数之后，该]]></description><category></category></item><item><title><![CDATA[实习日记2020-07-20]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107529223</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107529223</guid><author>a1234name</author><pubDate>Thu, 23 Jul 2020 09:52:11 +0800</pubDate><description><![CDATA[在拿到一个中厂的实习offer之后也是不太想放掉，因为之前投了很久的简历了，刚开始小公司还都在回你，到后面小公司感觉都招好人了一样，回也不回你了，之前拿到了一两个小公司实习offer，因为对公司的位置和规模不是很满意都拒绝了，当拿到这个公司的实习offer之后，因为是个直播平台，自己也喜欢看直播，而且从面试的内容、工作地理环境、待遇各方面还是挺合自己的心意，然后就决定去了，也是因为刚好有亲戚在那边，做什么都还有人帮助




时间
工作内容
LeetCode
心情




2020-07-20
填入职表，熟]]></description><category></category></item><item><title><![CDATA[剑指 Offer 17. 打印从1到最大的n位数]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107528827</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107528827</guid><author>a1234name</author><pubDate>Thu, 23 Jul 2020 09:26:26 +0800</pubDate><description><![CDATA[输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]

用返回一个整数列表来代替打印
n 为正整数

这个题刚看完就是直接暴力的思路，，
然后用暴力直接过了，看题解才考虑到如果是在强类型语言中，如果数字太大int和long是存不够的，所以对PHP来说这样还是可以过的。在题解中还看到一种方法就是利用递归来做，从最高位递归下去找，再把数字组合起来
感觉在没有]]></description><category></category></item><item><title><![CDATA[剑指 Offer 16. 数值的整数次方]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107358674</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107358674</guid><author>a1234name</author><pubDate>Wed, 15 Jul 2020 13:29:43 +0800</pubDate><description><![CDATA[实现函数double Power(double base, int exponent)，求base的exponent次方。不得使用库函数，同时不需要考虑大数问题。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100
示例 3:
输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25
-100.0 &lt; x &lt; 100.0
n 是 32 位有符号整数，其数值]]></description><category></category></item><item><title><![CDATA[剑指 Offer 15. 二进制中1的个数]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107357892</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107357892</guid><author>a1234name</author><pubDate>Wed, 15 Jul 2020 12:15:34 +0800</pubDate><description><![CDATA[请实现一个函数，输入一个整数，输出该数二进制表示中 1 的个数。例如，把 9 表示成二进制是 1001，有 2 位是 1。因此，如果输入 9，则该函数输出 2。
示例 1：
输入：00000000000000000000000000001011
输出：3
解释：输入的二进制串 00000000000000000000000000001011 中，共有三位为 '1'。
示例 2：
输入：00000000000000000000000010000000
输出：1
解释：输入的二进制串 0000000000000]]></description><category></category></item><item><title><![CDATA[剑指 Offer 14- II. 剪绳子 II]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107355018</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107355018</guid><author>a1234name</author><pubDate>Wed, 15 Jul 2020 10:47:58 +0800</pubDate><description><![CDATA[给你一根长度为 n 的绳子，请把绳子剪成整数长度的 m 段（m、n都是整数，n&gt;1并且m&gt;1），每段绳子的长度记为 k[0],k[1]…k[m - 1] 。请问 k[0]k[1]…*k[m - 1] 可能的最大乘积是多少？例如，当绳子的长度是8时，我们把它剪成长度分别为2、3、3的三段，此时得到的最大乘积是18。
答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。
示例 1：
输入: 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 =]]></description><category></category></item><item><title><![CDATA[剑指 Offer 14- I. 剪绳子]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107313626</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107313626</guid><author>a1234name</author><pubDate>Mon, 13 Jul 2020 11:53:41 +0800</pubDate><description><![CDATA[*给你一根长度为 n 的绳子，请把绳子剪成整数长度的 m 段（m、n都是整数，n&gt;1并且m&gt;1），每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…k[m-1] 可能的最大乘积是多少？例如，当绳子的长度是8时，我们把它剪成长度分别为2、3、3的三段，此时得到的最大乘积是18。
示例 1：
输入: 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 = 1
示例 2:
输入: 10
输出: 36
解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 3]]></description><category></category></item><item><title><![CDATA[剑指 Offer 13. 机器人的运动范围]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107304163</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107304163</guid><author>a1234name</author><pubDate>Sun, 12 Jul 2020 19:58:24 +0800</pubDate><description><![CDATA[地上有一个m行n列的方格，从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动，它每次可以向左、右、上、下移动一格（不能移动到方格外），也不能进入行坐标和列坐标的数位之和大于k的格子。例如，当k为18时，机器人能够进入方格 [35, 37] ，因为3+5+3+7=18。但它不能进入方格 [35, 38]，因为3+5+3+8=19。请问该机器人能够到达多少个格子？
示例 1：
输入：m = 2, n = 3, k = 1
输出：3
示例 2：
输入：m = 3, n]]></description><category></category></item><item><title><![CDATA[剑指 Offer 12. 矩阵中的路径]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107301398</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107301398</guid><author>a1234name</author><pubDate>Sun, 12 Jul 2020 16:56:57 +0800</pubDate><description><![CDATA[请设计一个函数，用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始，每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格，那么该路径不能再次进入该格子。例如，在下面的3×4的矩阵中包含一条字符串“bfce”的路径（路径中的字母用加粗标出）。
[[“a”,“b”,“c”,“e”],
[“s”,“f”,“c”,“s”],
[“a”,“d”,“e”,“e”]]
但矩阵中不包含字符串“abfb”的路径，因为字符串的第一个字符b占据了矩阵中的第一行第二个格]]></description><category></category></item><item><title><![CDATA[剑指 Offer 11. 旋转数组的最小数字]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107295817</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107295817</guid><author>a1234name</author><pubDate>Sun, 12 Jul 2020 10:51:22 +0800</pubDate><description><![CDATA[把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。输入一个递增排序的数组的一个旋转，输出旋转数组的最小元素。例如，数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转，该数组的最小值为1。
示例 1：
输入：[3,4,5,1,2]
输出：1
示例 2：
输入：[2,2,2,0,1]
输出：0

其实这个题的意思是找这个数组中最小的元素，他有旋转数组的规律，其实不管他是不是旋转数组，只要进行增序排序之后，取数组第一个值就行。如果这要用到旋转数组性质的话，可采用二分法找，要注意的]]></description><category></category></item><item><title><![CDATA[剑指 Offer 10- II. 青蛙跳台阶问题]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107292912</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107292912</guid><author>a1234name</author><pubDate>Sat, 11 Jul 2020 23:39:14 +0800</pubDate><description><![CDATA[一只青蛙一次可以跳上1级台阶，也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。
示例 1：
输入：n = 2
输出：2
示例 2：
输入：n = 7
输出：21

0 &lt;= n &lt;= 100

这个题想了好久，，没想到就是一个斐波那契的题。
思路应该是这样想，如果为n时f(n)，跳最后一下的时候他有两种跳的方法，一种就是跳一下的时候，前面的就只需要知道n-1的最多跳法f(n]]></description><category></category></item><item><title><![CDATA[剑指 Offer 10- I. 斐波那契数列]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107288083</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107288083</guid><author>a1234name</author><pubDate>Sat, 11 Jul 2020 17:41:56 +0800</pubDate><description><![CDATA[写一个函数，输入 n ，求斐波那契（Fibonacci）数列的第 n 项。斐波那契数列的定义如下：
F(0) = 0,   F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N &gt; 1.

斐波那契数列由 0 和 1 开始，之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。
示例 1：
输入：n = 2
输出：1
示例 2：
输入：n = 5
输出：5

0 &lt;= n ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 09. 用两个栈实现队列]]></title><link>https://blog.youkuaiyun.com/a1234name/article/details/107286734</link><guid>https://blog.youkuaiyun.com/a1234name/article/details/107286734</guid><author>a1234name</author><pubDate>Sat, 11 Jul 2020 16:37:45 +0800</pubDate><description><![CDATA[用两个栈实现一个队列。队列的声明如下，请实现它的两个函数 appendTail 和 deleteHead ，分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素，deleteHead 操作返回 -1 )
提示：
1 &lt;= values &lt;= 10000
最多会对 appendTail、deleteHead 进行 10000 次调用

这里我就不贴输入和输出样例了，本来刚开始读题就模模糊糊的，看了他的输入输出样例就更迷了，首先是要理解清楚这个题是要干嘛
他要我们做的就是通过维护]]></description><category></category></item></channel></rss>