自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

公仔面

学习,进步

  • 博客(185)
  • 收藏
  • 关注

原创 2023.01/2287. 重排字符形成目标字符串

每天更新今天的每日一题自己的理解.

2023-01-13 10:14:46 235 1

原创 2023.01/1807. 替换字符串中的括号内容

每天更新今天的每日一题自己的理解.

2023-01-12 15:28:15 521

原创 2023.01/2283. 判断一个数的数字计数是否等于数位的值

每天更新今天的每日一题自己的理解.

2023-01-11 08:40:58 242

原创 2023.01/1806. 还原排列的最少操作步数

每天更新今天的每日一题自己的理解.

2023-01-09 09:49:12 366

原创 2023.01/2185. 统计包含给定前缀的字符串

每天更新今天的每日一题自己的理解.

2023-01-08 10:00:20 84

原创 2023.01/1658. 将 x 减到 0 的最小操作数

每天更新今天的每日一题自己的理解.

2023-01-07 10:19:15 540

原创 2023.01/2180. 统计各位数字之和为偶数的整数个数

每天更新今天的每日一题自己的理解.

2023-01-06 10:02:39 361

原创 2023.01/1802. 有界数组中指定下标处的最大值

每天更新今天的每日一题自己的理解.

2023-01-04 11:27:55 411

原创 2023.01/2042. 检查句子中的数字是否递增

每天更新今天的每日一题自己的理解.

2023-01-03 09:14:09 195

原创 2023.01/1801. 积压订单中的订单总数

leetcode每日以题/2023.01

2023-01-02 08:02:23 425

原创 2023.01/2351. 第一个出现两次的字母

leetcode每日一题详细的思路和cpp代码!

2023-01-01 16:56:38 103

原创 leetcode周赛272场

每日一场leetcode周赛,不定期更新

2022-04-15 09:08:47 269 1

原创 MySQL必知必会思维导图

必知必会思维导图

2022-04-04 14:25:57 517

原创 c++ primer/第十三章 拷贝控制

拷贝控制1.五种特殊成员函数2.拷贝构造函数2.注意:3.拷贝赋值运算符4.析构函数5.三/五法则6.=default7.=delete8.行为像值的类/行为像指针的类9.对象移动10.右值引用11.移动构造函数/ 移动赋值函数12.移动迭代器1.五种特殊成员函数拷贝构造函数拷贝赋值函数移动构造函数移动赋值函数析构函数2.拷贝构造函数定义:第一个参数是自身类类型的引用,且任何额外参数都有默认值。一般用const,且不用explicit如果没有拷贝构造函数,系统会送一个。就算定义了其

2022-03-25 09:14:30 226

原创 动态规划/115 不同的子序列

115. 不同的子序列1.题意给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。2.例子示例 1:输入:s = "rabbbit", t = "rabbit"输出:3解释:如下图所示, 有 3 种可以从 s 中得到 "rabbit"

2022-03-15 11:10:20 369

原创 “手把手“教你完成买卖股票含冻结期

309. 最佳买卖股票时机含冷冻期1.题意给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。2.示例示例 1:输入: prices = [1,2,3,0,2]输出: 3 解释: 对应的交易状态为: [买入, 卖出, 冷冻期,

2022-03-12 09:21:45 250

原创 学习笔记/音视频面试

1.DTS/PTS如果没有B帧,那么DTS一般与PTS相同DTS(Decoding Time Stamp):即解码时间戳,这个时间戳的意义在于告诉播放器该在什么时候解码这一帧的数据。(解码I->P->B)PTS(Presentation Time Stamp):即显示时间戳,这个时间戳用来告诉播放器该在什么时候显示这一帧的数据。2.GOP就是将同一组动作的封装为一个组,组内的动作变化不大,可以不用整个图片传输,降低数据量2.!宏块!视频压缩操作的基本单元帧内压缩还

2022-03-10 19:05:36 3903

原创 c++ webser/第五章 webserver实战

1.阻塞/非阻塞 同步/异步(网络io)1.典型的一次IO的两个阶段是什么?数据就绪 和 数据读写数据就绪:根据系统IO操作的就绪状态(内核中的TCP接受缓冲区)阻塞 调用IO方法的线程进入阻塞状态(如果没好,线程挂起)别的中断(如:信号)结束了当前阻塞返回-1. errno == EINTR;非阻塞 不会改变线程的状态,通过返回值判断读取如果没有数据返回-1,errno == EAGAIN | EWOULDBLOCK.返回0,读取到了数据的末尾,对面

2022-03-09 17:31:35 3985

原创 c++ primer / 第十二章 动态内存

这里写目录标题1.内存分区一般分为五个区2.智能指针1. shared_ptr2.函数3.生存周期2. unique_ptr传递和返回unique_ptr3. weak_ptr3. new 关键字4. delete 关键字空悬指针5. new 和 智能指针搭配不要混合使用内置和智能6.初始化动态数组7.指向数组的unique_str,shared_ptr1.内存分区一般分为五个区五个区存放栈保存定义在函数内的非static对象,const 修饰的局部变量[声明周期结束由编译器自动

2022-03-08 21:40:03 126

原创 c++ webserver/第四章 UDP通信

这里写目录标题1. UDP间通信1.流程图2.函数2.广播3.组播(多播)2.组播地址3.设置组播4.本地套接字1.定义2.流程3.每次连接都需要把上一次的删除,否则就会产生占用1. UDP间通信1.流程图2.函数#include <sys/types.h>#include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sock

2022-03-08 19:55:48 534

原创 c++ primer/第十二章 动态内存

🐂动态内存🍺1.内存分区一般分为五个区2.智能指针1. shared_ptr2.函数3.生存周期2. unique_ptr传递和返回unique_ptr3. weak_ptr3. new 关键字4. delete 关键字空悬指针5. new 和 智能指针搭配不要混合使用内置和智能1.内存分区一般分为五个区五个区存放栈保存定义在函数内的非static对象,const 修饰的局部变量[声明周期结束由编译器自动销毁]堆存储动态分配对象(new,malloc)[需要手动释放]

2022-03-06 22:26:30 507

原创 c++ primer/第十一章 关联式容器

👉目录👍1.容器类型2.构造3.谓词4.类型别名5.插入返回值6.删除7.查找元素8. 查找算法9.无序容器1.容器类型//全部均为set,map// 想要重复元素就在前面加 multi// 想要哈希表模式的就在前面加 unordered_组合一共8中类型2.构造//1.map可以直接用花括号指定元素map<string,string> authors = { {" ",""}; {" ",""}; ...}//2.set可以用顺序容

2022-03-03 22:14:37 642

原创 c++ webserver/第四章 通信编程(下)

TCP SOCKRT通信

2022-03-02 21:36:17 2568

原创 c++ primer/第九章 顺序容器

👉目录👈1. 容器类型的限制2.容器操作3.迭代器转化4.容器构造函数5. array1.初始化2.可以拷贝3.(!!!primer错误!!!)不能直接等于花括号序列6. assign7. swap函数8. 容器元素是拷贝来的9. insert10.下标操作和at11.删除12. resize() 和 reserve()区别13.迭代器失效14.vector的增长15.特殊的string函数16. substr 字符串截取17. replace 字符串替换18. 字符串查找19.容器设配器1.类型2.实现

2022-03-01 22:38:49 430

原创 每日一点cpp11小细节

👍每日提高一点点💪

2022-03-01 20:03:20 215

原创 c++ webserver/第四章 网络编程基础知识

这里写目录标题1.C/S结构1.优点2.缺点2. B/S结构2.优点3.缺点3. MAC地址1.网络设配器(网卡,网络接口器)2. MAC地址(Media Access Control Address)4. IP地址1.定义2.特殊地址3.类型4.子网掩码1.作用:2.计算方法5.端口1.定义2.作用:3.数量4.特殊端口1.普遍使用的周知端口2.注册端口(Registered Ports)3.动态端口 / 私有端口(Dynamic Ports / Private Ports)3.动态端口 / 私有端口(D

2022-02-28 00:52:38 1064

原创 c++ primer/第七章 类

1. this指针每个类内部都有,谁调用了成员函数,内部起始的this就是谁的地址,它是一个常量指针,所以不能改变它的地址//如果想要这么写,也不是不行.但是没必要,因为系统会给我们自动加上string fun() const {return this->...}; //返回自身(做完加法或者减法后需要返回原来的自己)对象 &函数名(){return *this;}//返回自身就可以一行写多个调用.// 1.但是返回值一定是引用,不然就是临时副本,无法对原来的值做出修改

2022-02-27 21:36:53 329

原创 每日刷一题/537. 复数乘法

537. 复数乘法题意:复数 可以用字符串表示,遵循 “实部+虚部i” 的形式,并满足下述条件:实部 是一个整数,取值范围是 [-100, 100]虚部 也是一个整数,取值范围是 [-100, 100]i2 == -1给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。示例 1:输入:num1 = "1+1i", num2 = "1+1i"输出:"0+2i"解释:(1 + i) * (1 + i) = 1 + i2 + 2 * i =

2022-02-25 21:18:10 107

原创 c++primer/第六章 函数

文章目录1.函数一定需要块2.自动对象3.局部静态变量4.参数类型5.形参是 `const`6.数组做参数7.主函数传递参数8.可变形参 initialize_list形参9.返回值10. typedef 定义数组11.数组指针1.函数一定需要块double square(double x) //错误,一定需要大括号括起来 return x * x;2.自动对象在函数体内部声明的局部变量,成为自动对象. 形参就是一种自动对象3.局部静态变量可以延长变量的声明周期,程序终止时销毁.重复

2022-02-22 01:15:38 476

原创 c++webserver/第三章 Linux线程开发

1.线程1.定义与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。**一个进程可以包含多个线程。**同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的UNIX进程只是多线程程序的一个特例,该进程只包含一个线程)进程是CPU分配资源的最小单位,线程是操作系统调度执行的最小单位。线程是轻量级的进程(LWP: Light weight Process) ,在 Linux环境下

2022-02-22 01:12:13 901

原创 c++webserver/第二章 多进程开发

1.Linux下的PCB2.进程状态转换1.三态2.五态3.ps命令.//静态查看进程ps aux(查看当前全部进程) | ajx4.top命令//动态查看进程5.kill命令//杀死进程kill -9/SIGKILL pid 强制杀死进程killall -name 进程名 根据进程名杀死 6.进程关系ppid 父进程pid 当前进程pgid 进程组号7.进程函数1.创建进程pid_t fork(void);/* 创建一个进程 返回值

2022-02-20 01:09:07 927

原创 c++webserver/第一章 linux编程入门

1.GCC编码过程2.是否定义宏//如果定义宏就执行当前内容#ifdef 宏名 内容;//如果没有就执行下方内容#endif 内容;3. 库作用代码保护(反编译无法编译部分内容)方便部署和分发4.文件IO结构体:文件描述符(整形,__fileno) -> 文件位置文件读写指针 -> 操作数据I/O缓冲区 -> 先缓冲,再一次性修改,也可以用fflush强制写入)5.虚拟地址空间32位机器(2的32次方等于4G) 0-3G 用户区 3G-

2022-02-20 01:02:33 1188

原创 c++ primer/第四章 表达式

1.左值和右值简单归纳:当一个对象被用作右值时,用的是对象的值(内容).当对象用作左值的时候,用的是对象的身份(在内存中的位置.地址)需要右值的地方可以用左值替代,但是右值不能当左值使用2.求值顺序int i = 0;cout << i++ << " " << i << endl; //0 1cout << i << " " << i++ << endl; //1 0cout <<

2022-02-19 17:33:29 347

原创 969. 煎饼排序

969. 煎饼排序1.题意:给你一个整数数组 arr ,请使用 煎饼翻转 完成对数组的排序。一次煎饼翻转的执行过程如下:选择一个整数 k ,1 <= k <= arr.length反转子数组 arr[0...k-1](下标从 0 开始)例如,arr = [3,2,1,4] ,选择 k = 3 进行一次煎饼翻转,反转子数组 [3,2,1] ,得到 arr = [1,2,3,4] 。以数组形式返回能使 arr 有序的煎饼翻转操作所对应的 k 值序列。任何将数组排序且翻转次数在 10 *

2022-02-19 12:01:04 284

原创 c++primer总结/第三章 字符串.向量和数组

1.头文件不应使用using声明作为头文件,一般不要使用using.因为作为头文件,可能被其它文件应用.那么就会把using带过去.造成无法预料的名字冲突;2.字符串1.拷贝初始化和直接初始化string s3 = "hello"; //拷贝初始化string s4("hello"); //直接初始化.两者等价//对于一些特殊字符串,比如 n 个 'c'这种,建议用直接初始化!因为拷贝初始化需要显性创建一个对象string s5(n,'c'); //推荐string s6 = st

2022-02-18 16:35:05 287

原创 c++primer总结/第二章 变量和基础类型

1.unsigned int + int 结果为unsigned//转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。unsigned int u = 10;int i = -42;cout << i + u << endl; //4294967264(32的补码转化为原码.1....1110,0000)2.unsigned int用循环需要注意//死循环,等于0再执行一次,变成-1,补码为最大值fo

2022-02-18 16:34:28 227

原创 280周赛/2171. 拿出最少数目的魔法豆

2171. 拿出最少数目的魔法豆题意:给你一个 正 整数数组 beans ,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少 还有 一颗 魔法豆的袋子)魔法豆的数目 相等 。一旦魔法豆从袋子中取出,你不能将它放到任何其他的袋子中。请你返回你需要拿出魔法豆的 最少数目。示例 1:输入:beans = [4,1,6,5]输出:4解释:我们从有 1 个魔法豆的袋子中拿出 1 颗魔法豆。剩下袋子中魔法豆的数目为

2022-02-15 16:36:03 233

原创 leetcode刷题2月/1020. 飞地的数量

1020. 飞地的数量给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QMNFXQzP-1644645259695)(E:\markdown\myNode\leetcode刷题\每

2022-02-12 13:55:41 6921

原创 程序员面试金典好题/面试题 01.05. 一次编辑

面试题 01.05. 一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入: first = "pale"second = "ple"输出: True示例 2:输入: first = "pales"second = "pal"输出: False解题方法:动态规划法:找出最小编辑次数(dp[i][j]的含义)初始化(一边的字符串为空):dp[0][j] = j;

2022-02-11 09:52:57 265

原创 1414. 和为 K 的最少斐波那契数字数目

1414. 和为 K 的最少斐波那契数字数目题目:给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。斐波那契数字定义为:F1 = 1F2 = 1Fn = Fn-1 + Fn-2 , 其中 n > 2 。数据保证对于给定的 k ,一定能找到可行解。示例 1:输入:k = 7输出:2解释:斐波那契数字为:1,1,2,3,5,8,13,……对于 k = 7 ,我们可以得到 2 + 5 = 7 。示例 2:输入:k =

2022-02-03 11:48:27 554

空空如也

空空如也

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

TA关注的人

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