<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CLZHIT的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CLZHIT</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CLZHIT]]></copyright><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【动态规划】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122432947</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122432947</guid><author>CLZHIT</author><pubDate>Tue, 17 Dec 2024 20:54:31 +0800</pubDate><description><![CDATA[刷题笔记动态规划leetcode专栏leetcode 509 斐波那契数leetcode 70 爬楼梯leetcode 746 使用最小花费爬楼梯leetcode 62 不同路径leetcode 63 不同路径 IIleetcode 343 整数拆分leetcode 96 不同的二叉搜索树动态规划——0-1背包问题leetcode 416 分割等和子集
动态规划leetcode专栏
leetcode 509 斐波那契数
class Solution {
public:
    int fib(int n) ]]></description><category></category></item><item><title><![CDATA[五种IO模型：同步阻塞I/O、同步非阻塞I/O、同步I/O复用模型、同步信号驱动I/O、异步I/O模型]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/129643008</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/129643008</guid><author>CLZHIT</author><pubDate>Sat, 18 Mar 2023 22:01:10 +0800</pubDate><description><![CDATA[阻塞、非阻塞、多路IO复用，都是同步IO，异步必定是非阻塞的，所以不存在异步阻塞和异步非阻塞的说法。换句话说，只有用户线程在操作IO的时候根本不去考虑IO的执行，全部都交给CPU去完成，而自己只等待一个完成信号的时候，才是真正的异步IO。异步过程中进程触发IO操作以后，直接返回，做自己的事情，IO交给内核来处理，完成后内核通知进程IO完成。同步：执行一个操作之后，进程触发IO操作并等待(也就是我们说的阻塞)或者轮询的去查看IO操作(也就是我们说的非阻塞)是否完成，等待结果，然后才继续执行后续的操作。]]></description><category></category></item><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【链表】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122616183</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122616183</guid><author>CLZHIT</author><pubDate>Sat, 31 Dec 2022 23:42:02 +0800</pubDate><description><![CDATA[刷题笔记链表leetcode专栏leetcode 203 移除链表元素leetcode 707 设计链表leetcode 206 翻转链表leetcode 24 两两交换链表中的节点leetcode 19 删除链表的倒数第 N 个结点leetcode 160 链表相交leetcode 142 环形链表 IIleetcode 328 奇偶链表leetcode 234 回文链表leetcode 21 合并两个有序链表leetcode 2 两数相加leetcode 430 扁平化多级双向链表leetcode 13]]></description><category></category></item><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【数组】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122587078</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122587078</guid><author>CLZHIT</author><pubDate>Sat, 31 Dec 2022 23:32:03 +0800</pubDate><description><![CDATA[刷题笔记数组leetcode专栏leetcode 704 二分查找leetcode 27 移除元素leetcode 26 删除有序数组中的重复项leetcode 80 删除有序数组中的重复项 IIleetcode 283 移动零leetcode 75 颜色分类leetcode 215 数组中的第K个最大元素leetcode 167 两数之和 IIleetcode 11 盛最多水的容器leetcode 125 验证回文串leetcode 345 反转字符串中的元音字母leetcode 844 比较含退格的字符]]></description><category></category></item><item><title><![CDATA[C++面向对象特性——多态]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/128454700</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/128454700</guid><author>CLZHIT</author><pubDate>Tue, 27 Dec 2022 13:29:13 +0800</pubDate><description><![CDATA[多态性（ polymorphism ）是面向对象设计语言的基本特征之一。仅仅是将数据和函数捆绑在一起，进行类的封装，使用一些简单的继承，还不能算是真正应用了面向对象的设计思想。多态性是面向对象的精髓。多态性可以简单地概括为“一个接口，多种方法”。通常是指对于同一个消息、同一种调用，在不同的场合，不同的情况下，执行不同的行为。虚函数就是在基类中被声明为virtual，并在一个或多个派生类中被重新定义的成员函数。// 类内部 class 类名 {virtual 返回类型 函数名(参数表) {]]></description><category></category></item><item><title><![CDATA[LeetCode 【算法专栏】 【图】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122687671</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122687671</guid><author>CLZHIT</author><pubDate>Wed, 16 Nov 2022 23:18:39 +0800</pubDate><description><![CDATA[图相关算法有关BFS和DFS求有权图的单源最短路径算法(Dijkstra算法)求有权图的多源最短路径算法(Floyd算法)Prim算法leetcode 1584 连接所有点的最小费用(prim+priority_queue)Kruskal算法实现思想（并查集）leetcode 1584 连接所有点的最小费用(Kruskal  UnionFind)拓扑排序Topologicalsortleetcode 133 克隆图(DFS + DeepCopy + ShadowCopy)leetcode 547 省份数量(]]></description><category></category></item><item><title><![CDATA[【数据结构】B树（B-树）和B+树]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/126482345</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/126482345</guid><author>CLZHIT</author><pubDate>Tue, 23 Aug 2022 16:19:41 +0800</pubDate><description><![CDATA[分裂的方法：取一个新结点，在插入key后的原结点，从中间位置（⌈m/2⌉）将其中的关键字分为两部分，左部分包含的关键字放在原结点中，右部分包含的关键字放在新结点中，中间位置（⌈m/2⌉）的结点插入原结点的父结点。若被删除关键字所在结点删除前的关键字个数 = ⌈m/2⌉-1，且与此结点相邻的右（或左）兄弟结点的关键字个数 >= ⌈m/2⌉，则需要调整该结点、右（或左）兄弟结点、及其双亲结点（父子换位法），以达到新的平衡。B树，又称为多路平衡查找树，B树中所有结点的孩子个数的最大值称为B树的阶，通常用m表示。]]></description><category></category></item><item><title><![CDATA[排序算法练手代码 【20220721】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/125923406</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/125923406</guid><author>CLZHIT</author><pubDate>Thu, 21 Jul 2022 23:58:03 +0800</pubDate><description><![CDATA[代码】排序算法练手代码【20220721】]]></description><category></category></item><item><title><![CDATA[leetcode 394 字符串解码 【栈】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/125882261</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/125882261</guid><author>CLZHIT</author><pubDate>Tue, 19 Jul 2022 22:16:37 +0800</pubDate><description><![CDATA[编码规则为k[encoded_string]，表示其中方括号内部的encoded_string正好重复k次。此外，你可以认为原始数据不包含数字，所有的数字只表示重复的次数k，例如不会出现像3a或2[4]的输入。输入字符串中没有额外的空格，且输入的方括号总是符合格式要求的。输入s=“2[abc]3[cd]ef”s中所有整数的取值范围为[1,300]输入s=“abc3[cd]xyz”输入s=“3[a]2[bc]”输入s=“3[a2[c]]”...]]></description><category></category></item><item><title><![CDATA[leetcode 241 为运算表达式设计优先级【递归，回溯】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/125881244</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/125881244</guid><author>CLZHIT</author><pubDate>Tue, 19 Jul 2022 21:20:44 +0800</pubDate><description><![CDATA[给你一个由数字和运算符组成的字符串expression，按不同优先级组合数字和运算符，计算并返回所有可能组合的结果。你可以按任意顺序返回答案。生成的测试用例满足其对应输出值符合32位整数范围，不同结果的数量不超过104。输入expression=“2-1-1”...]]></description><category></category></item><item><title><![CDATA[leetcode50 Pow(x, n) 递归题目]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/125840903</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/125840903</guid><author>CLZHIT</author><pubDate>Mon, 18 Jul 2022 09:05:05 +0800</pubDate><description><![CDATA[实现pow(x,n)，即计算x的整数n次幂函数。解释2^-2=1/2^2=1/4=0.25。时间复杂度O(n)的代码超时，有测试用例跑不过。输入x=2.00000,n=10。输入x=2.00000,n=-2。时间复杂度O(logn)的代码。输出1024.00000。输出0.25000。...]]></description><category></category></item><item><title><![CDATA[剑指 Offer 33. 二叉搜索树的后序遍历序列]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/125838597</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/125838597</guid><author>CLZHIT</author><pubDate>Sun, 17 Jul 2022 22:59:59 +0800</pubDate><description><![CDATA[题目输入一个整数数组，判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true，否则返回false。假设输入的数组的任意两个数字都互不相同。输入[1,6,3,2,5]输入[1,3,2,6,5]]]></description><category></category></item><item><title><![CDATA[Catch That Cow POJ 3278 (BFS问题)]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/123021582</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/123021582</guid><author>CLZHIT</author><pubDate>Sat, 19 Feb 2022 21:45:57 +0800</pubDate><description><![CDATA[问题链接
http://poj.org/problem?id=3278
摘自王道笔试指南

#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;queue&gt;
using namespace std;

const int MAXN = 100001;
vector&lt;bool&gt; inq(MAXN, false);

struct Status
{
	int loc;
	i]]></description><category></category></item><item><title><![CDATA[PAT 1076 Forwards on Weibo]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122988821</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122988821</guid><author>CLZHIT</author><pubDate>Thu, 17 Feb 2022 17:59:07 +0800</pubDate><description><![CDATA[https://pintia.cn/problem-sets/994805342720868352/problems/994805392092020736
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;queue&gt;
using namespace std;

const int MAXN = 1010;

struct Node {
    int v;
    int layer;
    Node(int _v, in]]></description><category></category></item><item><title><![CDATA[0-1背包问题—— 动态规划，二维dp和一维dp]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122490545</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122490545</guid><author>CLZHIT</author><pubDate>Fri, 14 Jan 2022 12:54:40 +0800</pubDate><description><![CDATA[刷题笔记0-1背包问题动态规划
0-1背包问题
动态规划
有关于动态规划可以解决0-1背包问题的证明，即证明原问题的最优解包含子问题的最优解，可以采用反证法来证明。（教材上有）
dp数组的定义以及含义：首先采用二维dp，我们需要同时考虑value和weight两个变量。dp[i][j] 表示从下标为[1-i]的物品里任意取，放进容量为j的背包，价值总和最大是多少。（为了回溯结果方便，物品下标编号从1到n）
dp状态转移公式：对于第i个物品，决策只有两种，一种是第i个物品放入背包x[i] = 1，这时dp[i]]></description><category></category></item><item><title><![CDATA[0-1背包问题——暴力搜索、回溯法和剪枝限界]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122465443</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122465443</guid><author>CLZHIT</author><pubDate>Fri, 14 Jan 2022 11:23:41 +0800</pubDate><description><![CDATA[刷题笔记动态规划0-1背包问题回溯法和剪枝限界
动态规划0-1背包问题
回溯法和剪枝限界
运用回溯法解题通常包含以下三个步骤：
1、针对所给问题，定义问题的解空间；
2、确定易于搜索的解空间树；
3、以深度优先的方式搜索解空间树，并在搜索过程中用剪枝函数避免无效搜索
0-1背包问题，对于每一个物品只有两种决策，一种是该物品装入背包，x[i] = 1，另一种是该物品不装入背包，x[i] = 0。所以对于物品编号1-n所形成的解空间树的高度是n+1(包含叶子节点)。叶子节点最下面一层节点的数量是2^n，表示该问]]></description><category></category></item><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【贪心】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122383572</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122383572</guid><author>CLZHIT</author><pubDate>Tue, 11 Jan 2022 11:23:41 +0800</pubDate><description><![CDATA[刷题笔记贪心算法leetcode专栏leetcode 455 分法饼干leetcode 376 摆动序列leetcode 53 最大子数组和leetcode 122 买卖股票的最佳时机 IIleetcode 55 跳跃游戏leetcode 45 跳跃游戏 IIleetcode 1005 K次取反后最大化的数组和leetcode 134 加油站leetcode 135 分发糖果leetcode 860 柠檬水找零leetcode 406 根据身高重建队列leetcode 452 用最少数量的箭引爆气球leet]]></description><category></category></item><item><title><![CDATA[leetcode 哈希表相关算法刷题笔记]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122336312</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122336312</guid><author>CLZHIT</author><pubDate>Thu, 06 Jan 2022 19:26:35 +0800</pubDate><description><![CDATA[刷题笔记hash table 算法leetcode专栏leetcode 242 有效的字母异位词leetcode 383 赎金信leetcode 49 字母异位词分组leetcode 138 复制带随机指针的链表leetcode 1002 查找共用字符leetcode 349 两个数组的交集leetcode 350 两个数组的交集IIleetcode 202 快乐数leetcode 1 两数之和leetcode 15 三数之和leetcode 18 四数之和leetcode 454 四数相加II
hash ]]></description><category></category></item><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【二叉树】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122300482</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122300482</guid><author>CLZHIT</author><pubDate>Wed, 05 Jan 2022 17:19:27 +0800</pubDate><description><![CDATA[刷题笔记二叉树算法leetcode专栏leetcode 94 二叉树的中序遍历leetcode 144 二叉树的前序遍历leetcode 145 二叉树的后序遍历leetcode 102 二叉树的层序遍历leetcode 107 二叉树的层序遍历IIleetcode 119 二叉树的右视图leetcode 637 二叉树的层平均值leetcode 429 N叉树的层序遍历leetcode 515 在每个树行中找到最大值leetcode 116 填充每个节点的下一个右侧节点指针leetcode 117 填充每]]></description><category></category></item><item><title><![CDATA[LeetCode 【数据结构与算法专栏】【回溯算法】]]></title><link>https://blog.youkuaiyun.com/CLZHIT/article/details/122285296</link><guid>https://blog.youkuaiyun.com/CLZHIT/article/details/122285296</guid><author>CLZHIT</author><pubDate>Mon, 03 Jan 2022 23:17:28 +0800</pubDate><description><![CDATA[leetcode 77 组合
给定两个整数 n 和 k，返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。
示例 1：

输入：n = 4, k = 2 输出： [   [2,4],   [3,4],   [2,3],   [1,2],   [1,3],
[1,4], ]

示例 2：

输入：n = 1, k = 1 输出：[[1]]

提示：
1 &lt;= n &lt;= 20
1 &lt;= k &lt;= n
来源：力扣（LeetCode）
链接：https:/]]></description><category></category></item></channel></rss>