<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_43353709的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_43353709</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_43353709]]></copyright><item><title><![CDATA[（1）进程间常见的几种通信方式]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/132382862</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/132382862</guid><author>qq_43353709</author><pubDate>Mon, 28 Aug 2023 16:56:45 +0800</pubDate><description><![CDATA[每个进程各自有不同的用户地址空间，任何一个进程的全局变量在另一个进程中都看不到，所以进程之间要交换数据必须通过内核，在内核中开辟一块缓冲区，进程1把数据从用户空间拷到内核缓冲区，进程2再从内核缓冲区把数据读走，内核提供的这种机制称为进程间通信（IPC）。直到进程 A 访问完共享内存，才会执行 V 操作，使得信号量恢复为 0，接着就会唤醒阻塞中的线程 B，使得进程 B 可以访问共享内存，最后完成共享内存的访问后，执行 V 操作，使信号量恢复到初始值 1。如果大于等于0，则说明还有资源可用，进程可以正常执行。]]></description><category></category></item><item><title><![CDATA[RSA加密解密算法原理以及实现]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/132282754</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/132282754</guid><author>qq_43353709</author><pubDate>Wed, 16 Aug 2023 18:05:39 +0800</pubDate><description><![CDATA[从古至今，如何用最有效的加密手段保护信息的安全性使之不被窃取、篡改或者破坏都是人们在信息传播中普遍关注的重大问题。最古老的文件加密手段莫过于对称加密，什么是对称加密，打个比方，有一个商人需要给合作伙伴送一批贵重的货物，他便将货物放在一个设置好密码的箱子中，这个密码只有商人知道，同时他又将设置好的密码提前告知合作伙伴，货物送达后，合作伙伴便可以用被告知的密码打开箱子取出货物。即用一种方法加密, 用同一种方法解密, 即为对称加密。]]></description><category></category></item><item><title><![CDATA[哈希表刷题总结]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/127855302</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/127855302</guid><author>qq_43353709</author><pubDate>Mon, 14 Nov 2022 21:18:37 +0800</pubDate><description><![CDATA[哈希表刷题总结]]></description><category></category></item><item><title><![CDATA[python快速入门系列]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/119115490</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/119115490</guid><author>qq_43353709</author><pubDate>Sat, 12 Feb 2022 20:56:35 +0800</pubDate><description><![CDATA[一、python以及pycharm的安装
我用的python版本为3.6版本，pycharm使用的是社区版。
二、python的基础语法
2.1 python的书写规则
if(10-9&gt;0):
    print("10&gt;9")

   一个语句块可以写在一行，但为了直观，若一个语句块写在两行，则要进行缩进，缩进的格式为4个空格。

2.2python的基本数据结构


注：在python里单引号和双引号都可以表示字符串，如果一个字符串包含单引号则表示必须用双引号，其他情况单引号双引号没有区别。]]></description><category></category></item><item><title><![CDATA[网络协议入门|（一）网络协议概述]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/104615969</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/104615969</guid><author>qq_43353709</author><pubDate>Mon, 02 Mar 2020 19:55:36 +0800</pubDate><description><![CDATA[为什么会有网络协议
举个例子，就比如我们如何让一台计算机知道我们想做的事，那我们就得告诉它一种它能明白的语言（尽管这种语言还是接近人类语言，机器不能读懂，需要进行翻译，这种工作交给编译器就好了），这种语言应包含三个方面：
1、语法：一段内容要符合一定的规则和格式，比如括号要成对等。
2、语义：一段内容必须包含一段含义
3、顺序：一段内容先干啥，后干啥
这样，计算机就能明白你的意思，并做相应的操作。...]]></description><category></category></item><item><title><![CDATA[c++泛型编程（二）运算符重载]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/104394309</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/104394309</guid><author>qq_43353709</author><pubDate>Sun, 23 Feb 2020 14:29:10 +0800</pubDate><description><![CDATA[为什么要运算符重载
c++预先定义的运算符操作都基于基本运算符操作，而用户自定义数据类型也希望有这样的操作，这时就需要进行运算符重载，这也是c++的扩展性。
运算符重载时通过运算符重载函数来实现的
结构
（&lt;返回类型说明&gt;）operator（运算符重载符号）（&lt;参数列表&gt;）
{
函数体
}
运算符重载需要遵循的规则
1,、除了类属关系符“.”、成员指针运算符“.*”、作用域...]]></description><category></category></item><item><title><![CDATA[c++泛型编程（一）模板]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/104393753</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/104393753</guid><author>qq_43353709</author><pubDate>Wed, 19 Feb 2020 15:38:26 +0800</pubDate><description><![CDATA[什么是模板
1、模板是c++的一种特性，允许类或者函数可以泛型形式运行
2、模板可以使类或者函数在不同类型下运行，无需为每一种类型都编写代码
3、模板是一种复用的手段
什么是函数模板
函数模板是建立一个通用的函数，他的形参、返回类型和局部变量都用一个占位符来表示，等到真正调用时，根据传入的参数逆推出真正的类型。
什么是类模板
c++不仅支持函数模板，也支持类模板。函数模板不仅可以用在函数声明中，也...]]></description><category></category></item><item><title><![CDATA[LeetCode 166：分数到小数]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103427260</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103427260</guid><author>qq_43353709</author><pubDate>Fri, 06 Dec 2019 17:45:11 +0800</pubDate><description><![CDATA[题目传送门
给定两个整数，分别表示分数的分子 numerator 和分母 denominator，以字符串形式返回小数。
如果小数部分为循环小数，则将循环的部分括在括号内。
示例 1:
输入: numerator = 1, denominator = 2
输出: “0.5”
示例 2:
输入: numerator = 2, denominator = 1
输出: “2”
示例 3:
输入: num...]]></description><category></category></item><item><title><![CDATA[leetcode138:复制带随机指针的链表]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103425580</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103425580</guid><author>qq_43353709</author><pubDate>Fri, 06 Dec 2019 17:08:03 +0800</pubDate><description><![CDATA[题目传送门
**给定一个链表，每个节点包含一个额外增加的随机指针，该指针可以指向链表中的任何节点或空节点。
要求返回这个链表的深拷贝。
示例：
输入：
{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …":"1","next":{"id”:“2”,“next”:null,“random”:{“KaTeX parse err...]]></description><category></category></item><item><title><![CDATA[leetcode 136:只出现一次的数字(|  ||)]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103405053</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103405053</guid><author>qq_43353709</author><pubDate>Fri, 06 Dec 2019 15:54:12 +0800</pubDate><description><![CDATA[题目传送门
给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现了两次。找出那个只出现了一次的元素。
思路一：异或
a⊕0=a；
a⊕a=0
a⊕b⊕a=（a⊕a）⊕b=b
遍历数字，最后 的结果就是出现只出现一次的数。
class Solution {
public:
    int singleNumber(vector&lt;int&gt;&amp; nums) {
    ...]]></description><category></category></item><item><title><![CDATA[leetcode 49:字母异位词分组]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103392317</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103392317</guid><author>qq_43353709</author><pubDate>Wed, 04 Dec 2019 18:56:30 +0800</pubDate><description><![CDATA[题目传送门
给定一个字符串数组，将字母异位词组合在一起。字母异位词指字母相同，但排列不同的字符串。
示例:
输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
输出:
[
[“ate”,“eat”,“tea”],
[“nat”,“tan”],
[“bat”]
]
说明：
所有输入均为小写字母。
不考虑答案输出的顺序。
思路：map&lt;string,v...]]></description><category></category></item><item><title><![CDATA[leetcode 36：有效的数独]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103391776</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103391776</guid><author>qq_43353709</author><pubDate>Wed, 04 Dec 2019 18:16:28 +0800</pubDate><description><![CDATA[题目传送门
判断一个 9x9 的数独是否有效。只需要根据以下规则，验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字，空白格用 ‘.’ 表示。
示例 1:
输入:
[
[“5”,“3”,".",".",“7”,"....]]></description><category></category></item><item><title><![CDATA[leetcode 18:四数之和]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103382370</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103382370</guid><author>qq_43353709</author><pubDate>Wed, 04 Dec 2019 10:43:36 +0800</pubDate><description><![CDATA[题目传送门
给定一个包含 n 个整数的数组 nums 和一个目标值 target，判断 nums 中是否存在四个元素 a，b，c 和 d ，使得 a + b + c + d 的值与 target 相等？找出所有满足条件且不重复的四元组。
注意：
答案中不可以包含重复的四元组。
示例：
给定数组 nums = [1, 0, -1, 0, -2, 2]，和 target = 0。
满足要求的四元组集合...]]></description><category></category></item><item><title><![CDATA[leetcode 3:无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103378270</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103378270</guid><author>qq_43353709</author><pubDate>Tue, 03 Dec 2019 23:51:32 +0800</pubDate><description><![CDATA[题目传送门
给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”，所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “...]]></description><category></category></item><item><title><![CDATA[LeetCode15：LeetCode 15 3Sum（c++）]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103354115</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103354115</guid><author>qq_43353709</author><pubDate>Tue, 03 Dec 2019 08:57:22 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; threeSum(vector&lt;int&gt;&amp; nums) {
        
        int l=0;
        vector&lt;vector&lt;int&gt;&gt; vc;
        sort(nums.begin(),nu...]]></description><category></category></item><item><title><![CDATA[LeetCode 81搜索旋转排序数组 II]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103322026</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103322026</guid><author>qq_43353709</author><pubDate>Sat, 30 Nov 2019 11:17:03 +0800</pubDate><description><![CDATA[题目传送门
假设按照升序排序的数组在预先未知的某个点上进行了旋转。
( 例如，数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。
编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true，否则返回 false。
示例 1:
输入: nums = [2,5,6,0,0,1,2], target = 0
输出: true
示例 2:
输入: nums = ...]]></description><category></category></item><item><title><![CDATA[关于二分查找LeetCode刷题总结（上）]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103228809</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103228809</guid><author>qq_43353709</author><pubDate>Sun, 24 Nov 2019 22:55:11 +0800</pubDate><description><![CDATA[首先来谈一下二分查找的模板问题。一般会出现一下三种错误：
1、数组越界。
2、死循环
3、跳过查询的元素下标。
先来看几组常见容易出错的模板。

int low=0,high=n;
while(low&lt;high)
{
int mid=low+(high-low)/2;
if(…)
low=mid;
else
high=mid;
}

这种情况下，如果在[2,2]中找值为3的下标，那么每次都会...]]></description><category></category></item><item><title><![CDATA[每日一道算法题：LeetCode33 搜索旋转排序数组]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103208271</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103208271</guid><author>qq_43353709</author><pubDate>Fri, 22 Nov 2019 22:37:58 +0800</pubDate><description><![CDATA[题目传送门
**假设按照升序排序的数组在预先未知的某个点上进行了旋转。
( 例如，数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
搜索一个给定的目标值，如果数组中存在这个目标值，则返回它的索引，否则返回 -1 。
你可以假设数组中不存在重复的元素。
你的算法时间复杂度必须是 O(log n) 级别。
O（logn）就说明直接遍历查找就不起作用了。
思路：通过观...]]></description><category></category></item><item><title><![CDATA[每日一道算法题：高楼扔鸡蛋问题(动态规划问题)]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103117196</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103117196</guid><author>qq_43353709</author><pubDate>Mon, 18 Nov 2019 10:35:40 +0800</pubDate><description><![CDATA[题目是这样：你面前有一栋从 1 到N共N层的楼，然后给你K个鸡蛋（K至少为 1）。现在确定这栋楼存在楼层0 &lt;= F &lt;= N，在这层楼将鸡蛋扔下去，鸡蛋恰好没摔碎（高于F的楼层都会碎，低于F的楼层都不会碎）。现在问你，最坏情况下，你至少要扔几次鸡蛋，才能确定这个楼层F呢？
首先我们来看一下，什么叫做最坏情况下，至少要仍几次鸡蛋，才能确定这个楼层F？
我们来举个简单的例子，当鸡蛋为1个...]]></description><category></category></item><item><title><![CDATA[c++ 表达式求值]]></title><link>https://blog.youkuaiyun.com/qq_43353709/article/details/103046740</link><guid>https://blog.youkuaiyun.com/qq_43353709/article/details/103046740</guid><author>qq_43353709</author><pubDate>Wed, 13 Nov 2019 15:27:24 +0800</pubDate><description><![CDATA[引言：现实生活中，我们使用的表达式为中缀表达式，但这对于计算机来说却是无法理解的，而计算机却能理解前缀表达式和后缀表达式。
前缀表达式表示：&lt;操作符&gt;&lt;操作数&gt;&lt;操作数&gt;,例如+AB；
中缀表达式表示：&lt;操作数&gt;&lt;操作符&gt;&lt;操作数&gt;，例如A+B；
后缀表示式表示：&lt;操作数&gt;&lt;操作数&gt;&lt;操作符&gt...]]></description><category></category></item></channel></rss>