自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 代码随想录day19 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、 450.删除二叉搜索树中的节点

这道题有点麻烦,我的问题主要出在同时拥有左右节点得策略,想返回右子树的最左结点,结果总是有点问题,不如卡哥的返回右节点的方法好。比较简单,自己可以写出。不算难,分类讨论即可。

2024-07-23 00:19:25 103

原创 代码随想录day18 530.二叉搜索树的最小绝对差 、 501.二叉搜索树中的众数 、 236. 二叉树的最近公共祖先

卡哥写的,卡哥是直接返回结点,一层一层向上返回存在得结点或者公告节点,如果没有返回nullptr,比我得简洁很多。基本思路就是统计频率,如果遇到新的最大频率就将结果集清零再加入,如果统计频率和之前相同,就直接加入结果集。自己写出来了,但是这个条件感觉理得有点混乱,找不到一个好的顺序。和昨天最后一题类似,秒了。

2024-07-21 11:52:46 196

原创 代码随想录day17 654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、98.验证二叉搜索树

卡哥的递归法,递归我反而想不出来,原来是把前一个结点放到全局了,而且记录前一个结点,可以避免数值万一设置为比longlong最小值更小的问题。此题比昨天构造二叉树还要简单,思路一致。自己写出来了,思路就是中序是顺序的。

2024-07-20 00:04:48 200

原创 代码随想录day16 513.找树左下角的值 、112. 路径总和 、113. 路径总和Ⅱ 、 106.从中序与后序遍历序列构造二叉树

最后一题挺难的,其实就是模仿构造二叉树的顺序,我写的代码是根据左闭右闭的区间,注意确定根节点后找后序区间应该根据的是元素个数,我之前再根据根节点的右元素来确定后序区间,就会有问题。卡哥用的递归,学习到了遍历深度的方法,且只要先左后右,那么第一次遇到最深的结点一定是最深且最左的结点。看了下卡哥的视频,思路是一样的,但是卡哥是用传入的参数目标值减去当前值,感觉会简洁一些。我自己写出的是层序遍历,很快做出来。

2024-07-19 00:29:57 175

原创 代码随想录day15 110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和 、222.完全二叉树的节点个数

方法很巧,就是单层递归时判断个数时先判断是否为满二叉树,如果是就直接返回 2 ^ h - 1 ,注意右移表达为(1 << h) - 1,如果不是则再用左右子树递归和加一。这题对我比较困难的点是在于如何同时携带高度信息和是否是平衡二叉树的信息,卡哥则用了一个比较好的方法就是如果不是直接返回-1,则无需再求高度,以后可以借鉴这种想法。挺简单的,可以很快写出来。挺简单的,可以很快写出来。

2024-07-17 22:30:40 287

原创 代码随想录Day14 226.翻转二叉树 、101. 对称二叉树 、104.二叉树的最大深度 、111.二叉树的最小深度

【代码】代码随想录Day14 226.翻转二叉树 、101. 对称二叉树 、104.二叉树的最大深度 、111.二叉树的最小深度。

2024-07-16 23:55:17 130

原创 代码随想录 day13 递归遍历 、迭代遍历 、 统一迭代 、 层序遍历

比较简单,不赘述。

2024-07-16 00:23:24 161

原创 代码随想录day11 150. 逆波兰表达式求值 、 239. 滑动窗口最大值 、 347.前 K 个高频元素

这题是看卡哥视频的,但我不是很习惯pop的写法,因为我觉得pop就是单纯的弹出元素,而这里实际涉及了外界的下标,因为左下标-1元素值等于首元素,所以才觉得要弹出元素,属于和外界逻辑相关,而不是和队列本意相关,所以我就放到了函数体内,然后单调队列,其实就是对deque的入队作了限制,入队元素如果大于尾元素,则要不断弹出。想法和卡哥差不多都是用map统计然后放入优先队列进行排序,但我本来想的是用大顶堆,最后弹出两个频率最大的元素,但后来发现这复杂度是O(nlogn),所以不符合要求。

2024-07-13 20:04:27 243

原创 代码随想录day09 151.翻转字符串里的单词 、卡码网:55.右旋转字符串

这题我直接想到的是istringstream 和 stack 但不知道这样使用是不是违反了规定。看了卡哥的O(1)空间复杂度解法,写了下述代码。

2024-07-12 00:24:34 200

原创 代码随想录day08 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

卡哥的就简单多了 直接走2k个单位 看前面k个是否符合,但我感觉一些细节比如if i+k是小于等于还是小于size,i是小于size呢还是小于等于需要拿一些例子去考量。我自己的想法设置一个标志位flag,每步走k个单位,flag为true则代表走之前要反转,否则不需要。第一次感受acm模式,我的是定义了一个新的string,但卡哥重新resize了,性能要更好些。

2024-07-10 23:26:39 354

原创 代码随想录第7天 454 、 383 、15、18

其次会发现和越界[0,0,0,1000000000,1000000000,1000000000,1000000000],1000000000 + 1000000000 + 1000000000就会越界所以我才用了long long类型为和,或者只加前面三个,判断target-nums[right]思路就是先统计nums1和num2各个元素之和出现的次数,然后遍历num3和nums4各个元素之和,看其相反数是否在map中,若在加上出现次数。感觉和前面某题很类似,用map和数组都可以实现。

2024-07-08 08:51:41 451

原创 代码随想录第6天 242 、349 、202 、1

今天的内容主要是几个容器的运用,思路倒不是很难。考察set的运用,有学过容器知识不难。写过,知道规律就不难。

2024-07-07 22:28:43 310

原创 代码随想录算法训练营第四天 leetcode 24、19、160、142

【代码】代码随想录算法训练营第四天 leetcode 24、19、160、142。

2024-07-07 00:04:51 352

原创 代码随想录day03 203.移除链表元素 707.设计链表 206.反转链表

麻烦的题目,不是难,就是麻烦。设置好三个指针的位置就能秒。

2024-07-04 22:40:19 363

原创 代码随想录刷题day02-矩阵

思路是先加上最右边的值,然后再循环判断是否大于等目标值,若大于等于则计算比较长度,然后减去左值让左下标往右移。先定圈数,在每一圈探讨每条行、边的值,然后再探讨中间值,看代码很容易看懂。左右下标元素平方相比,大的放心数组右边,比较简单,不赘述。注意审题是大于等于目标值,不是等于目标值。这一题主要是针对边界问题的探讨。

2024-07-03 20:49:29 544

原创 网络编程(tcp和udp)socket

笔记摘自天明老师

2024-05-14 23:51:51 1695 3

原创 网络编程前置知识

其中响应头中Content-Type指示了该资源的类型,比如文本类型资源时,Content-Type:text/html;该部分可以大量的存放数据,比如当客户端需要提交一个文件到服务器时, 比如用户需要传输给服务器一些安全保密的信息,那么就可以将文件的数据放置在请求体中。应用层的HTTP协议、传输层TCP/UDP协议、网络层IP协议、数据链路层的数据帧组装和ARP协议。四部分.其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开.抓包: 就是通过分析用户发起的所有请求, 获得一些关键信息。

2024-05-10 21:33:17 615

原创 互斥锁和条件变量

定义锁类型// 需要先定义一个pthread_mutexattr_t的类型(eg:) pthread_mutexattr_t mutexattr;初始化类型pthread_mutexattr_t *attr // 类型变量设置类型pthread_mutexattr_t *attr, // 类型变量int type // 锁的具体类型使用// 初始化锁的时候, 给锁传入类型pthread_mutex_t *mutex, // 要初始化的锁。

2024-05-09 23:47:20 1773 1

原创 几个流的api对比+文件映射

遇到换行符’\n’,或者文件的末尾就会终止(也就是说,读取的字符数可能不足 count - 1 个)字符的读取操作,该函数会在字符数据的最后加上空字符,以表示一个字符串。标准库中有些函数 (比如文件流相关的一些函数),如果在调用过程中发生了错误,它会设置 errno 的值为非0值,不同的非0值就表示发生了某种类型的错误。内核区域当中,维护了一个名为**“文件对象”**的数据结构,内核缓冲区就在这个文件对象中,但此文件对象不能直接给到用户空间,也不能直接交互用户空间。读取成功,返回读取的字符;

2024-04-28 22:15:32 522

原创 代码随想录_数组

左闭右闭不用多说,左闭右开就意味着循环条件为left < right因为(1]并不合法,且初始right = len 因为范围是不包括右节点的。快慢指针法,属于想到了很简单,想不到就是想不到的类型。主要思想就是从两边中间做,进行比较,卡尔的图很形象了。不太难,控制好边界值就ok。

2024-04-24 09:00:03 160

原创 卡码网_C++基础使用

创建一个队列和创建一个栈的写法是相似的,需要指定队列中元素的类型,不过这也意味着队列中的元素必须是相同的数据类型,下面的代码表示创建一个字符串类型的队列。的key值存储是无序的,底层实现为哈希表,查找速度更快,如果不需要排序而只是快速查找键对应的值,可以考虑使用。可以理解为,迭代器和下标运算符的作用一样,用来访问容器中的元素,并且迭代器可以从一个元素移动到另外一个元素。的成员,表示指向第一个元素和最后一个元素的下一个元素的迭代器(尾后迭代器),如果容器为空,则。如果键存在,迭代器指向该键值对,否则指向。

2024-04-18 09:04:42 350

原创 三大存储期限+堆和栈+malloc等函数+创建vector

​ 内存泄漏是指程序在运行过程中,未能适时释放不再使用的内存区域,导致这部分内存在程序的生命周期内始终无法被重用。对于realloc失败的惯用法不同于前两种。头文件的使用,注意如何使用头文件保护。

2024-04-12 22:23:47 373 1

原创 代码随想录算法训练营第十四天 二叉树的递归遍历 、 二叉树的迭代遍历 、二叉树的统一迭代法

代码随想录算法训练营第十四天 二叉树的递归遍历 、 二叉树的迭代遍历 、二叉树的统一迭代法

2022-12-10 22:41:21 239

原创 代码随想录算法训练营第十二天 239. 滑动窗口最大值 、 347.前 K 个高频元素

代码随想录算法训练营第十二天 239. 滑动窗口最大值 、 347.前 K 个高频元素

2022-12-06 12:21:04 104

原创 代码随想录算法训练营第十一天 20. 有效的括号 、 1047. 删除字符串中的所有相邻重复项 、 150. 逆波兰表达式求值

代码随想录算法训练营第十一天 20. 有效的括号 、 1047. 删除字符串中的所有相邻重复项 、 150. 逆波兰表达式求值

2022-11-30 13:53:39 102

原创 代码随想录算法训练营第十天 232.用栈实现队列 、 225. 用队列实现栈

代码随想录算法训练营第十天 232.用栈实现队列 、 225. 用队列实现栈

2022-11-25 19:39:54 131

原创 代码随想录算法训练营第九天 28. 实现 strStr() 、 459.重复的子字符串 、字符串总结 、双指针回顾

代码随想录算法训练营第九天 28. 实现 strStr() 、 459.重复的子字符串 、字符串总结 、双指针回顾

2022-11-25 11:34:15 244

原创 代码随想录算法训练营第八天 344.反转字符串 、 541. 反转字符串II 、剑指Offer 05.替换空格 、151.翻转字符串里的单词 、剑指Offer58-II.左旋转字符串

代码随想录算法训练营第八天 344.反转字符串 、 541. 反转字符串II 、剑指Offer 05.替换空格 、151.翻转字符串里的单词 、剑指Offer58-II.左旋转字符串

2022-11-23 18:53:03 78

原创 代码随想录算法训练营第七天 454.四数相加II 、383. 赎金信 、15. 三数之和、18. 四数之和

代码随想录算法训练营第七天 454.四数相加II 、383. 赎金信 、15. 三数之和、18. 四数之和

2022-11-22 11:58:10 168

原创 代码随想录算法训练营第六天 242.有效的字母异位词 、 349. 两个数组的交集 、202. 快乐数、1. 两数之和

代码随想录算法训练营第六天 242.有效的字母异位词 、 349. 两个数组的交集 、202. 快乐数、1. 两数之和

2022-11-21 16:16:13 411

原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、 19. 删除链表的倒数第 N 个结点 、面试题 02.07. 链表相交、142. 环形链表 I

代码随想录算法训练营第四天 203.移除链表元素、 707.设计链表 、206.反转链表

2022-11-20 21:35:46 376

原创 代码随想录算法训练营第三天 203.移除链表元素、 707.设计链表 、206.反转链表

代码随想录算法训练营第三天 203.移除链表元素、 707.设计链表 、206.反转链表

2022-11-19 13:57:27 599

原创 代码随想录算法训练营第二天 977.有序数组的平方 、209.长度最小的子数组 、 59.螺旋矩阵II

代码随想录算法训练营第2天 977.有序数组的平方 、209.长度最小的子数组 、 59.螺旋矩阵II

2022-11-18 19:43:20 581

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

2022-11-18 11:13:49 1919 1

空空如也

空空如也

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

TA关注的人

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