自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 动态规划-看完就会系列

前言第一眼看到动态规划四个字,我的感觉是,好像很牛逼的样子,是不是很难啊,其实掌握了一定套路后,真没那么难。描述:动态规划就是一种解决问题的方法,什么方法呢?就是利用已经知道的解去求解未知问题的解,如果这两个问题之间存在一定的联系,那么就可以用已知解加上这个联系得到未知解了。比如你想去求1+1+1这个问题的解,那么我告诉你1+1=2,那么1+1+1就是1+1的解再加上1喽,这就是他们之间的...

2019-12-23 16:35:05 201

原创 谈一谈算法与数据结构-及一些忠告

概念算法:任何一个良定义的计算过程,该过程取某个值或者值的集合作为输入并产生某个值或值的集合作为输出。这是比较概念化的定义,我们来分析一下,算法到底是什么,比如有一个问题:计算1到10所有整数的和,你现在需要解决它,就得一步一步计算先算什么,再算什么,一步一步直到把问题的答案计算出来,那么计算的这个过程就是算法。数据结构:数据结构是一种存储和组织数据的方式,旨在便于访问和修改。对于数据结构,其...

2019-12-20 10:27:23 247

原创 leetcode刷题笔记(七)—双指针双索引的用法遍历数组二

前言接上一篇的双索引问题1、给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n ...

2019-12-16 16:51:00 422

原创 leetcode刷题笔记(六)—双指针双索引的用法遍历数组

碎碎念这一篇我把代码和注释都写在一起了,应该都是能看懂的# 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。# # 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。# # 说明:# # 返回的下标值(index1 和 index2)不是从零开始的。# 你可以假设每个输入只对应唯一的答案,而且你不可以重...

2019-12-16 09:51:51 302

原创 leetcode刷题笔记(五)—三路快排算法

快速排序算法取两个游标left,right,初始状态为最左和最右,取一个基准值base然后准备写循环体,当left比right小的时候,我们先从右边找比基准值小的数字,找到以后,把它放在left上,再去从左边找比基准值大的数字,找到以后把它放在右边当循环退出的时候,left=right,这时左边一定比base小,右边一定比base大,把base放上去即可然后再对左边数组重复上述操作,右边...

2019-12-15 18:28:06 205

原创 leetcode刷题笔记(四)-数组相关的问题

描述:1、给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ #...

2019-12-15 10:43:34 205

原创 leetcode刷题笔记(三)

二分法的使用与总结:无脑使用while left < right在退出循环时再确定是否需要后处理,不用的话就直接返回,否则判断完返回在循环里面先去得到一个中位数,然后开始写分支逻辑,先写排除中位数的分支逻辑,然后再写反向的逻辑,因为这样比较好写。先写好些的逻辑,剩下的自然就写出来了,加上注释也比较好懂。然后根据写的逻辑判断是使用左中位数还是右中位数,当左边界收缩的时候,我们使用左中位...

2019-12-14 20:58:17 99

原创 leetcode刷题笔记(二)

描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke...

2019-12-14 09:28:28 113

原创 leetcode刷题笔记(一)

描述:1、给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路:首...

2019-12-14 08:11:25 112

原创 Redis源码分析之sds-字符串

前言Redis中sds字符串被我啃完了,感叹一下:redis的代码写的真的是好看!关于sds的一些细节可以参考文章:http://redisbook.com/preview/sds/different_between_sds_and_c_string.html注释我都写在了代码里:sds.h:/* SDSLib 2.0 -- A C dynamic strings library *...

2019-12-12 10:19:38 771

原创 Libevent源码分析(三)——源代码结构及事件event

前言有了前面两节的铺垫,应该对Reactor模式和libevent中的基本流程有了一个基本的认识,接下来我们就可以分析源代码啦,不过在分析源代码之前,我们先来看一下源码结构。絮叨我在第一次把源代码下载下来的时候,一看代码,我有点懵,心想,libevent怎么这么随意,把代码文件都放在了一个文件下,也太乱了,然而并不是这样,仔细一研究,就发现,其实代码结构是非常清晰的。一起来看看吧:代码结构...

2019-12-11 09:15:24 310

原创 Libevent源码分析(二)——基本应用流程

前言上一篇介绍了libevent的核心,Reactor模式,那么接下来,我们就用libevent来设置一个定时器,这样就可以更好的理解Reactor模式了。设置定时器流程:我们按步骤来解释,其实步骤就是建立Reactor各部分以及建立他们关系的过程,掌握了也就基本掌握了libevent的精髓,想想就刺激:首先我们需要一个event_base的实例对象,也就是说我们需要先获得一个核心Rea...

2019-12-10 10:35:44 143

原创 Libevent源码分析(一)——Reactor模式

前言Libevent 本身就是一个Reactor,所以在分析Libevent之前,搞清楚Reactor是什么就非常重要了。Reactor的事件处理机制在服务器这一类事件驱动的应用中,如果不采取一定的策略,就必须时刻准备着处理多个同时到来的请求,那么就会浪费Cpu资源。那么我们应该怎么做才能良好的解决这一问题呢?答案就是采用事件驱动。我的理解就是:**程序并不需要一直轮询有没有待处理的消息,...

2019-12-10 09:13:03 203

原创 C++设计模式之代理模式--通俗易懂

前言代理模式属于设计模式中的构造型设计模式之一,又叫结构型设计模式,它可以为其它的对象提供一层代理机制,就是要访问其它对象不是直接去访问的,而是统一由代理类负则。你们肯定也听过代理服务器的嘛,比如翻墙,就是提供一层中间机制。模式的结构这张图就能很形象的说明结构了:subject(抽象主题角色):真实主题与代理主题的共同接口。RealSubject(真实主题角色):定义了代理角色所代表的...

2019-12-06 10:37:07 253

原创 算法时间复杂度&&空间复杂度

时间复杂度算法的时间复杂度是算法的基石,那么到底什么是时间复杂度呢?顾名思义,就是描述程序运行时间的一种指标,只不过,我们在程序中都是使用大O表示法,没错也就是你经常看到的O(n)之类的表示方法,即 T(n) = O(f(n))。先来看一段例子:for(int i = 0;i < n;i++){ std::cout<<"aaa"<<endl;}比如这...

2019-12-04 08:43:04 264

原创 搞不清函数传参方式——看这里喽

前言现在有很多的语言,我所学习过的有python、java、C/C++、JavaScript等,即使已经学习了不少的语言,有时候也会被函数的传参方式给搞晕了,本文主要说明一下python的传参方式,并简单说明与C/C++的不同之处。Python传参方式说明def test(num,_str,_list): num = 10 _str = "aaa" _list =...

2019-12-03 08:53:52 142

原创 C++内存管理,看这就够了

前言对于C/C++这样自己管理内存的语言,搞清楚如何去管理内存是很重要的,我觉得管理内存其实也没那么难。在C++中有两种思路,要不自己去管理内存,要不使用智能指针,当然,后一种是C++后来版本加进去的,也是为了让C++变得更加容易和安全。内存分配想要搞清楚内存管理,我们先得搞清楚内存是如何分配的,或者说分为哪几块。栈: 程序种执行的函数内的局部变量都是在栈上面创建的,函数执行结束这些存储...

2019-12-02 09:14:07 230

大华码流解析库 General-StreamAnalyzer-Chn-ES-V1.00.0.5304

大华摄像机码流解析库 配套demo 可以解析大华摄像机码流 解析大华设备码流为裸流 包含linux的动态库 包含win动态库

2023-03-22

录制_2020_07_24_20_27_47_105.mp4

本人录制的一个C语言异步小爬虫,设计知识点,HTTP,Select,同步,异步,epoll,回调,基本异步框架

2020-07-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除