<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cool_grass的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cool_grass</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cool_grass]]></copyright><item><title><![CDATA[子串---]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/146090836</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/146090836</guid><author>cool_grass</author><pubDate>Fri, 07 Mar 2025 11:17:58 +0800</pubDate><description><![CDATA[每次和队尾元素比较,比队尾元素大就替代它(类比 你是这个队列里最弱的,给我滚出这个队列),直到找到跟它一样强大的元素或者发现它是这个队列里最强大的则退出循环.每次i往右移一个单位,所以只需要删除至多一个元素.因为填入的参数在逻辑上已经不在滑动窗口内了,所以需要判断这个元素此时在不在单调队列里.如果不在证明该元素早就被队列排除在外,在的话说明此时单调队列里该元素是最大值,但由于不在滑动窗口内,所以就弹出.因为此时滑动窗口已经满了,所以i每次移动时都得从队列里弹出一个元素,然后插入一个元素进去.]]></description><category></category></item><item><title><![CDATA[算法-滑动窗口]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/145828784</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/145828784</guid><author>cool_grass</author><pubDate>Mon, 24 Feb 2025 14:56:13 +0800</pubDate><description><![CDATA[定义两个指针left和right,left作为循环移动的变量,right作为滑动窗口向右移动的变量.都满足时把right下标对应的元素加入进set容器中,且right++;while循环跳出后,用ans来判断此时的最大子串长度.②保证set容器中没有right+1下标对应的元素。left初始化为0,right为-1;①保证right+1没有超出数组长度;]]></description><category></category></item><item><title><![CDATA[谈谈OSI模型和TCP/IP模型的区别]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/145751371</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/145751371</guid><author>cool_grass</author><pubDate>Thu, 20 Feb 2025 13:52:07 +0800</pubDate><description><![CDATA[第四层为网络链路层,对应OSI模型的数据链路层和物理层,它的功能是保证物理传输媒介的传输,比如以太网,WIFI等,它还会提供一个差错检测和纠正的一个功能,并且它还负责管理硬件地址(MAC)地址,在实际的网络数据包传输的过程中,只有IP地址是无法找到的,因为即使知道目标主机的IP地址,但因为中间有各种各样的主机和错从复杂的网络,这时候就需要找到合适的中间网络当一个传输媒介来帮助传输,而如何找到这些合适的中间网络呢?第二层为传输层,对应OSI模型的传输层,它负责端到端的数据包的传输,协议主要有两个.]]></description><category></category></item><item><title><![CDATA[算法-双指针法]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/145748381</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/145748381</guid><author>cool_grass</author><pubDate>Thu, 20 Feb 2025 11:12:37 +0800</pubDate><description><![CDATA[使用双指针保证left的左边都是非零的数,每次j找到非零数后交换i,j下标对应的元素,并且i++.right通常是移动遍历的指针,遍历过程中条件满足后left跟着移动,具体题目具体分析.个人理解通常会在数组中使用这种方法(经验所得,后续碰到不一样的再回头来改)定义两个指针int left , right;]]></description><category></category></item><item><title><![CDATA[算法-unordered_map哈希查找]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/145725344</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/145725344</guid><author>cool_grass</author><pubDate>Wed, 19 Feb 2025 11:44:40 +0800</pubDate><description><![CDATA[使用C++11新特性auto iterator代替map<int,int>::iterator 写法更简洁.insert()函数的使用之一:形参使用键值对的类型,即pair<int,int>类型.①条件判断为真则找到了容器中对应元素的key值,这时候可以直接返回,即。底层实现为哈希表,查找效率和增删效率的时间复杂度低.②条件判断为假则将此时循环遍历的元素和对应的下标加入进map容器,即。或者用map[key] = value的形式都行.key存数组元素的值,value存对应元素的下标。]]></description><category></category></item><item><title><![CDATA[力扣704.​二分查找​]]></title><link>https://blog.youkuaiyun.com/cool_grass/article/details/141284271</link><guid>https://blog.youkuaiyun.com/cool_grass/article/details/141284271</guid><author>cool_grass</author><pubDate>Sat, 17 Aug 2024 17:55:01 +0800</pubDate><description><![CDATA[数组总长度n,寻找target值下标。]]></description><category></category></item></channel></rss>