<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010012355的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010012355</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010012355]]></copyright><item><title><![CDATA[3.无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140927061</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140927061</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 16:34:42 +0800</pubDate><description><![CDATA[2、哈希表：只要需要判断数据是否重复出现，就用哈希表。注意哈希表里存的数只有一个，count返回值要么0，要么1。一个容易错误的点：不要访问到字符串size+1，这个地址也可以取到值的……1、滑动窗口：左窗口每个大循环+1，右窗口每次内循环拉满（直到触发条件）。一些细节：哈希表每次erase的时候，注意是erase前一次循环的左窗口。请注意，你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。，所以其长度为 3。，所以其长度为 1。，所以其长度为 3。]]></description><category></category></item><item><title><![CDATA[extern和extern C]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140929197</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140929197</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 16:02:26 +0800</pubDate><description><![CDATA[C++语言在编译的时候为了解决函数的多态问题，会将函数名和参数联合起来生成一个中间的函数名称，而C语言则不会（C语言不支持函数重载），因此会造成链接时无法找到对应函数的情况，此时C函数就需要用extern “C”进行链接指定，这告诉编译器，请保持我的名称，不要给我生成用于链接的中间函数名。最常见的用法，当链接器在一个全局变量声明前看到extern关键字，它会尝试在其他文件中寻找这个变量的定义。变量的声明：向程序表名变量的类型和名字，一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。]]></description><category></category></item><item><title><![CDATA[STL汇总]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140923413</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140923413</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 12:04:22 +0800</pubDate><description><![CDATA[2、关联容器：存储键值对，每个元素都有一个键（key）和一个值（value），并且通过键来组织元素。3、无序容器（C++11 引入）：哈希表，支持快速的查找、插入和删除。1、序列容器：存储元素的序列，允许双向遍历。]]></description><category></category></item><item><title><![CDATA[102.二叉树的层序遍历]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140921836</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140921836</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 11:57:48 +0800</pubDate><description><![CDATA[例子中有三层，每层存储1 2 2个指针。那总体需要三层循环，每层循环内，分别pop1 2 2 次。（即逐层地，从左到右访问所有节点）。用queue来保存节点指针。]]></description><category></category></item><item><title><![CDATA[二叉树的前、中、后续、层级遍历]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140919998</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140919998</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 10:25:42 +0800</pubDate><description><![CDATA[由这样的性质我们可以发现，二叉搜索树的中序遍历是一个单调递增的有序序列。如果我们反序地中序遍历该二叉搜索树，即可得到一个单调递减的有序序列。若它的左子树不空，则左子树上所有节点的值均小于它的根节点的值；若它的右子树不空，则右子树上所有节点的值均大于它的根节点的值；中序在排序中经常用到，中序结果为递增队列，逆中序为递减队列。它的左、右子树也分别为二叉搜索树。深度遍历：前序、中序以及后序。]]></description><category></category></item><item><title><![CDATA[538.把二叉搜索树转化为累加树]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140894356</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140894356</guid><author>u010012355</author><pubDate>Mon, 05 Aug 2024 10:17:53 +0800</pubDate><description><![CDATA[(BST)，请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。2、二叉树的前、中、后序遍历。]]></description><category></category></item><item><title><![CDATA[206.反转链表]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140891525</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140891525</guid><author>u010012355</author><pubDate>Sat, 03 Aug 2024 15:51:38 +0800</pubDate><description><![CDATA[2、中间：指针head指向头，指针p指向中间节点，指针t指向p的next，让p的next指向head，然后head、p往后挪一位；直到p的next为空，这时候t和p都在节点最后一位；1、头：指针p指向头，next指向nullptr；解析：头尾节点需要单独处理；，请你反转链表，并返回反转后的链表。3、让p的next指向head。]]></description><category></category></item><item><title><![CDATA[21.合并两个有序链表]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140891179</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140891179</guid><author>u010012355</author><pubDate>Sat, 03 Aug 2024 15:36:23 +0800</pubDate><description><![CDATA[1、确定返回队列：比较俩队列AB的头，小于等于的作为返回队列R的头；并让小的那个头指针指向下一个节点。2、比较队列的值，小的节点作为返回队列R的下一个节点；当前队列A/B指向下一个节点；3、当一个队列节点遍历完之后，另一个队列的剩余元素都拼接到返回队列R的尾巴上。新链表是通过拼接给定的两个链表的所有节点组成的。4、需要在开头判断是否传入了空队列，返回另一个。将两个升序链表合并为一个新的。]]></description><category></category></item><item><title><![CDATA[141.环形链表]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140891035</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140891035</guid><author>u010012355</author><pubDate>Sat, 03 Aug 2024 15:19:29 +0800</pubDate><description><![CDATA[指针再次到达，则链表中存在环。为了表示给定链表中的环，评测系统内部使用整数。解析：哈希表保存指向链表节点的指针，如果在哈希表里查到了当前指针，则为环形链表。来表示链表尾连接到链表中的位置（索引从 0 开始）。如果链表中有某个节点，可以通过连续跟踪。链表中有一个环，其尾部连接到第二个节点。链表中有一个环，其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。用unordered_set。，判断链表中是否有环。给你一个链表的头节点。]]></description><category></category></item><item><title><![CDATA[生命因何而存在]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140845504</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140845504</guid><author>u010012355</author><pubDate>Thu, 01 Aug 2024 13:35:43 +0800</pubDate><description><![CDATA[我们最终走向虚无。]]></description><category></category></item><item><title><![CDATA[流量控制与限速]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140845485</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140845485</guid><author>u010012355</author><pubDate>Thu, 01 Aug 2024 13:35:08 +0800</pubDate><description><![CDATA[leaky bucket]]></description><category></category></item><item><title><![CDATA[深拷贝、浅拷贝]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140840700</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140840700</guid><author>u010012355</author><pubDate>Thu, 01 Aug 2024 11:10:57 +0800</pubDate><description><![CDATA[值传递过程中，被调函数的形式参数作为被调函数的局部变量处理，即在栈中开辟了内存空间以存放由主调函数放进来的实参的值，从而成为了实参的一个副本。存在的问题：如果定义了指针类型，但是没有自定义深拷贝函数，当用已有对象初始化另一个对象（调用浅拷贝函数）时，后一个对象的指针仅仅是指向了前一个对象指针指向的内存空间，当函数结束调用析构函数时，两个对象都会释放一次指针，导致内存泄漏。拷贝构造函数：用类的一个对象（的值）去构造另一个对象，后一个对象是不存在的，在拷贝构造的途中创建。引用是类型安全的，指针不是。]]></description><category></category></item><item><title><![CDATA[static_cast与dynamic_cast]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140831974</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140831974</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 20:30:50 +0800</pubDate><description><![CDATA[static_cast是c语言的强制转换代替品；dynamic_cast会运行时检查该转换是否类型安全，只在多态类型时合法，即该类至少具有一个虚拟方法。static_cast在编译时期强制转换,dynamic_cast在运行时期转换（较安全）。]]></description><category></category></item><item><title><![CDATA[C++11新特性]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140831019</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140831019</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 20:27:45 +0800</pubDate><description><![CDATA[nullptr是c++11引入的空指针常量值，NULL其实是个int型的值0，在重载函数中容易因为二义性编译失败。override：修饰派生类的函数，表明函数是基类函数的重写。此函数必须在父类中存在虚函数。3、std::function & std::bind & lambda表达式。final：禁止当前类进一步派生，类中的虚函数禁止进一步重载。1、auto和decltype。]]></description><category></category></item><item><title><![CDATA[23.合并K个升序链表【HARD】]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140826899</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140826899</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 19:40:53 +0800</pubDate><description><![CDATA[请你将所有链表合并到一个升序链表中，返回合并后的链表。给你一个链表数组，每个链表都已经按升序排列。将它们合并到一个有序链表中得到。]]></description><category></category></item><item><title><![CDATA[160.相交链表]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140826494</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140826494</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 16:42:44 +0800</pubDate><description><![CDATA[请注意相交节点的值不为 1，因为在链表 A 和链表 B 之中值为 1 的节点 (A 中第二个节点和 B 中第三个节点) 是不同的节点。换句话说，它们在内存中指向两个不同的位置，而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点，B 中第四个节点) 在内存中指向相同的位置。从各自的表头开始算起，链表 A 为 [4,1,8,4,5]，链表 B 为 [5,6,1,8,4,5]。从各自的表头开始算起，链表 A 为 [1,9,1,2,4]，链表 B 为 [3,2,4]。，函数返回结果后，链表必须。]]></description><category></category></item><item><title><![CDATA[19.删除链表的倒数第N个节点]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140821976</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140821976</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 14:53:34 +0800</pubDate><description><![CDATA[给你一个链表，删除链表的倒数第。个结点，并且返回链表的头结点。]]></description><category></category></item><item><title><![CDATA[2.两数相加]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140817012</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140817012</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 14:19:47 +0800</pubDate><description><![CDATA[注意此题不能用链表转化数字，相加，转化链表做，链表很长，数字存不下。所以是用补齐链表、对应位置相加、记录进位，模拟加法计算去做。你可以假设除了数字 0 之外，这两个数都不会以 0 开头。的链表，表示两个非负的整数。它们每位数字都是按照。请你将两个数相加，并以相同形式返回一个表示和的链表。的方式存储的，并且每个节点只能存储。难点：最后的一位没有加上。]]></description><category></category></item><item><title><![CDATA[234.回文链表]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140815567</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140815567</guid><author>u010012355</author><pubDate>Wed, 31 Jul 2024 10:11:34 +0800</pubDate><description><![CDATA[解答：数组保存，判断头尾是否相等。给你一个单链表的头节点。，请你判断该链表是否为。]]></description><category></category></item><item><title><![CDATA[C++ STL: unordered_set]]></title><link>https://blog.youkuaiyun.com/u010012355/article/details/140806351</link><guid>https://blog.youkuaiyun.com/u010012355/article/details/140806351</guid><author>u010012355</author><pubDate>Tue, 30 Jul 2024 20:49:24 +0800</pubDate><description><![CDATA[unordered_set存储原理是声明一个有n个桶的数据结构，计算加入到unordered_set的新的值hash，然后计算hash%n后的值x，将新的值加入到桶x中。当桶x中已经有了元素，就直接链接在后边。使用hash散列的方式存储数据，是一种使用hash值作为key的容器。构造：unordered_set set;]]></description><category></category></item></channel></rss>