<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小团子的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_36638170</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_36638170]]></copyright><item><title><![CDATA[week08学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/107752158</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/107752158</guid><author>qq_36638170</author><pubDate>Sun, 02 Aug 2020 22:23:59 +0800</pubDate><description><![CDATA[算法训练营第八周 学习笔记
第8周 第16课 | 位运算
1. 位运算基础及实战要点


位运算符

机器里的数字表示方式和存储格式就是二进制



算数移位与逻辑移位


异或：相同为0，不同为1。也可用“不进位加法”来理解。



位运算的应用


第8周 第17课 | 布隆过滤器和LRU缓存
1. 布隆过滤器的实现及应用

HasgTable + 拉链存储重复元素

一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。
优点是空间效率和查询时间都远远超过一般算法；]]></description><category></category></item><item><title><![CDATA[week07 学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/107597341</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/107597341</guid><author>qq_36638170</author><pubDate>Sun, 02 Aug 2020 21:43:17 +0800</pubDate><description><![CDATA[算法训练营第七周 学习笔记
第7周 第13课 | 字典树和并查集
1. Trie树的基本实现和特性

字典树的数据结构

字典树，即Trie树，又称单词查找树或键树，是一种树形结构。典型应用是用于统计和排序大量的字符串（但不仅限于字符串），所以经常被搜索引擎系统用于文本词频统计。
它的优点：最大限度地减少无谓的字符串比较，查询效率比哈希表高。


字典树的核心思想

Trie树的核心思想是空间换时间。
利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。


字典树的基本性质


节点本身不存完整]]></description><category></category></item><item><title><![CDATA[Laravel的集合Collection]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/107463360</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/107463360</guid><author>qq_36638170</author><pubDate>Tue, 21 Jul 2020 15:41:22 +0800</pubDate><description><![CDATA[目录简介创建集合可用的方法allfilterfirstimplodekeys
简介
Illuminate\Support\Collection 类提供了一个更具可读性的、更便于处理数组数据的封装。
具体例子看下面的代码。我们使用了 collect 函数从数组中创建新的集合实例，对其中的每个元素运行 strtoupper 函数之后再移除所有的空元素：
$collection = collect(['taylor', 'abigail', null])-&gt;map(function ($name) {
  ]]></description><category></category></item><item><title><![CDATA[week06 学习笔记]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/107448711</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/107448711</guid><author>qq_36638170</author><pubDate>Sun, 19 Jul 2020 19:09:36 +0800</pubDate><description><![CDATA[算法训练营第六周 学习笔记
第6周 第12课 | 动态规划
1. 动态规划的实现及关键点

分治+回溯+递归+动态规划

递归代码模板
# Python
def recursion(level, param1, param2, ...): 
    # recursion terminator 
    if level &gt; MAX_LEVEL: 
	   process_result 
	   return 
    # process logic in current level 
    pro]]></description><category></category></item><item><title><![CDATA[week04学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/107132646</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/107132646</guid><author>qq_36638170</author><pubDate>Sun, 12 Jul 2020 22:38:07 +0800</pubDate><description><![CDATA[算法训练营第四周 学习笔记
问题
第4周 第9课 | 深度优先搜索和广度优先搜索
1. 深度优先搜索、广度优先搜索实现和特性

遍历搜索

在树（图/状态集）中寻找特定结点


搜索 - 遍历

每个节点都要访问一次
每个节点仅仅访问一次
对节点的访问顺序不限

深度优先： depth first search
广度优先： breadth first search
其它：优先级优先





深度优先
# 递归写法
visited = set() 
def dfs(node, visited):
    i]]></description><category></category></item><item><title><![CDATA[week03学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/106974696</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/106974696</guid><author>qq_36638170</author><pubDate>Fri, 26 Jun 2020 22:36:15 +0800</pubDate><description><![CDATA[算法训练营第三周 学习笔记
问题

难度开始加大了，好反复看好几遍，基础太差，练习不够。

第7课 | 泛型递归、树的递归
1.递归的实现、特性以及思维要点

树的面试题解法一般都是递归
-递归 Recursion

递归 - 循环
通过函数体来进行的循环
类似于栈的形式一层一层进去，栈本身就是递归调用时，系统给我们做的调用栈



Python 代码模板
// python
def recursion(level, param1, param2, ...):
	# recursion terminator]]></description><category></category></item><item><title><![CDATA[week02学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/106818400</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/106818400</guid><author>qq_36638170</author><pubDate>Fri, 26 Jun 2020 15:21:03 +0800</pubDate><description><![CDATA[算法训练营第二周 学习笔记
问题
第2周 第5课 | 哈希表、映射、集合

哈希表 Hash table

定义：哈希表（Hash table），也叫散列表，是根据关键码值（Key value）而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录，以加快查找的速度。这个映射函数叫作散列函数（Hash Function），存放记录的数组叫作哈希表（或散列表）。
工程实践：

电话号码簿
用户信息表
缓存（LRU Cache）
键值对存储（Redis）


散列函数的特点：

确定性
散列碰撞]]></description><category></category></item><item><title><![CDATA[week01学习总结]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/106741775</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/106741775</guid><author>qq_36638170</author><pubDate>Sun, 21 Jun 2020 21:20:00 +0800</pubDate><description><![CDATA[算法训练营第一周 学习笔记
问题

LeetCode困难级别的题较难理解，需要稳扎稳打多练习基础题，理解困难题的思路；
Stack源码和Queue源码的讲解需要多看。

常用工具配置

刻意练习

基本功和编程指法

Best Practices/Top tips

时间复杂度

Big O notation

O(1): Constant Complexity 常数复杂度
O(log n): Logatithmix Complexity 对数复杂度
O(n): Linear Complexity 线性时间]]></description><category></category></item><item><title><![CDATA[Git基本命令]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/106623517</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/106623517</guid><author>qq_36638170</author><pubDate>Mon, 08 Jun 2020 16:46:07 +0800</pubDate><description><![CDATA[将本地仓库同步到远程GitHub仓库

git remote add origin git@github.com:xxx.git
git push -u origin master


]]></description><category></category></item><item><title><![CDATA[JSON.parse() 和 JSON.stringify()的区别]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/103054042</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/103054042</guid><author>qq_36638170</author><pubDate>Wed, 13 Nov 2019 17:42:00 +0800</pubDate><description><![CDATA[parse()函数
parse()用于将一个字符串解析成一个json对象，例如
var str = '{"name":"jack","age":"18"}';
JSON.parse(str);
结果是：
Object {name:"jack",age:"18"}

stringify()函数
stringify()是从一个对象中解析出字符串，例如
var obj = {a:1,b:2};
JSON...]]></description><category></category></item><item><title><![CDATA[JS中三种定义变量的方式const,var,let的区别]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/103049353</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/103049353</guid><author>qq_36638170</author><pubDate>Wed, 13 Nov 2019 15:02:57 +0800</pubDate><description><![CDATA[1.const定义的变量不可以修改，而且必须初始化。
1 const b = 2;//正确
2 // const b;//错误，必须初始化 
3 console.log('函数外const定义b：' + b);//有输出值
4 // b = 5;
5 // console.log('函数外修改const定义b：' + b);//无法输出 

2.var 声明变量，定义的变量可以修改，如果不初始化会...]]></description><category></category></item><item><title><![CDATA[Web Service (SOAP)和HTTP接口的区别]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/100009395</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/100009395</guid><author>qq_36638170</author><pubDate>Thu, 22 Aug 2019 10:27:15 +0800</pubDate><description><![CDATA[什么是web service？

soap请求 (Simple Object Access Protocol，简单对象访问协议) 是HTTP POST的一个专用版本，遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据都可以xml化。

SOAP：简单对象访问协议，简单对象访问协议（SOAP）是一种轻量的、简单的、基于 XML 的协议，它被设计成在 WEB 上交换...]]></description><category></category></item><item><title><![CDATA[PHP引用赋值和传递赋值]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99678079</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99678079</guid><author>qq_36638170</author><pubDate>Fri, 16 Aug 2019 15:00:34 +0800</pubDate><description><![CDATA[传递赋值
$a =3;
$b=5;
$a=$b;
echo $a,$b;  //  5 5

传递赋值
$a=3;
$b=5;
$a=&amp;$b;        //把b的地址赋值给 $a 更改b的值 就是更改a的值
$b=9;
echo $a,$b;   // 9 9

unset($b);
echo $a;    // 9     //变量有个机制 假如有多个变量指向同一个地址 取消其中一...]]></description><category></category></item><item><title><![CDATA[409. 最长回文串]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99674332</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99674332</guid><author>qq_36638170</author><pubDate>Fri, 16 Aug 2019 11:17:49 +0800</pubDate><description><![CDATA[题目原文
给定一个包含大写字母和小写字母的字符串，找到通过这些字母构造成的最长的回文串。
在构造过程中，请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。
注意:
假设字符串的长度不会超过 1010。
示例 1:
输入:
“abccccdd”
输出:
7
解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
解题思路
回文串左右对称，统计每个字母出现次数，若存在奇数字...]]></description><category></category></item><item><title><![CDATA[884. 两句话中的不常见单词]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99099460</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99099460</guid><author>qq_36638170</author><pubDate>Sat, 10 Aug 2019 18:56:53 +0800</pubDate><description><![CDATA[题目原文
给定两个句子 A 和 B 。 （句子是一串由空格分隔的单词。每个单词仅由小写字母组成。）
如果一个单词在其中一个句子中只出现一次，在另一个句子中却没有出现，那么这个单词就是不常见的。
返回所有不常用单词的列表。
您可以按任何顺序返回列表。
示例 1：
输入：A = “this apple is sweet”, B = “this apple is sour”
输出：[“sweet”,“s...]]></description><category></category></item><item><title><![CDATA[961. 重复N次的元素]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99071879</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99071879</guid><author>qq_36638170</author><pubDate>Sat, 10 Aug 2019 14:18:00 +0800</pubDate><description><![CDATA[题目原文
在大小为 2N 的数组 A 中有 N+1 个不同的元素，其中有一个元素重复了 N 次。
返回重复了 N 次的那个元素。
示例 1：
输入：[1,2,3,3]
输出：3
示例 2：
输入：[2,1,2,5,3,2]
输出：2
示例 3：
输入：[5,1,5,2,5,3,5,4]
输出：5
提示：
4 &lt;= A.length &lt;= 10000
0 &lt;= A[i] &lt; ...]]></description><category></category></item><item><title><![CDATA[1078. Bigram 分词]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99070142</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99070142</guid><author>qq_36638170</author><pubDate>Sat, 10 Aug 2019 13:33:35 +0800</pubDate><description><![CDATA[题目原文
给出第一个词 first 和第二个词 second，考虑在某些文本 text 中可能以 “first second third” 形式出现的情况，其中 second 紧随 first 出现，third 紧随 second 出现。
对于每种这样的情况，将第三个词 “third” 添加到答案中，并返回答案。
示例 1：
输入：text = “alice is a good girl she ...]]></description><category></category></item><item><title><![CDATA[204.计数质数]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99067313</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99067313</guid><author>qq_36638170</author><pubDate>Sat, 10 Aug 2019 12:56:49 +0800</pubDate><description><![CDATA[题目原文
统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
解题思路
厄拉多塞筛法
说明：i是从(2,int(n**0.5)+1)而非(2,n).这个技巧是可以验证的,比如说求9以内的质数个数,那么只要划掉sqrt(9)以内的质数倍数,剩下的即全为质数. 所以在划去倍数的时候也是从i*i开始划掉...]]></description><category></category></item><item><title><![CDATA[665.非递减数列]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/99055477</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/99055477</guid><author>qq_36638170</author><pubDate>Sat, 10 Aug 2019 10:12:34 +0800</pubDate><description><![CDATA[题目原文
给定一个长度为 n 的整数数组，你的任务是判断在最多改变 1 个元素的情况下，该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的： 对于数组中所有的 i (1 &lt;= i &lt; n)，满足 array[i] &lt;= array[i + 1]。
示例 1:
输入: [4,2,3]
输出: True
解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。
示例...]]></description><category></category></item><item><title><![CDATA[832. 翻转图像]]></title><link>https://blog.youkuaiyun.com/qq_36638170/article/details/96373269</link><guid>https://blog.youkuaiyun.com/qq_36638170/article/details/96373269</guid><author>qq_36638170</author><pubDate>Wed, 17 Jul 2019 22:14:32 +0800</pubDate><description><![CDATA[题目原文
给定一个二进制矩阵 A，我们想先水平翻转图像，然后反转图像并返回结果。
水平翻转图片就是将图片的每一行都进行翻转，即逆序。例如，水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。
反转图片的意思是图片中的 0 全部被 1 替换， 1 全部被 0 替换。例如，反转 [0, 1, 1] 的结果是 [1, 0, 0]。
示例 1:
输入: [[1,1,0],[1,0,1],[0,0,...]]></description><category></category></item></channel></rss>