自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录day16

依旧是前序遍历,采用双指针的办法,但是要注意相同的情况,要放在前面。搜索,双指针,采取两个指针遍历,采用前中右。二叉树公共祖先,回溯算法,采用后序遍历。二叉树搜索树,统计众数。

2025-01-25 13:32:51 167

原创 代码随想录15 二叉树03

二叉树,回溯,寻找各个路径。

2025-01-24 21:52:27 133

原创 代码随想录DAY15

调用函数,采用count-root->val。终止条件 遇到叶子节点,且COUNT==0。寻找二叉树的最左侧右边值。

2025-01-22 22:05:20 166

原创 代码随想录day14

二叉树是否对称,采用后序遍历,左右中,判断根节点两个子树是否相等。深度指的是根节点到叶子节点的距离,从1开始,前序遍历,中左右。叶子节点是左右孩子都为空,根节点到叶子节点的最小距离。高度是从叶子节点到根节点的距离,后序遍历,左右中。二叉树的反转,采用迭代,只能用前序和后序遍历。2.如果可以,判断子树里侧和外侧是否相等。1.先判断是否空,再判断数值是否相等。

2025-01-21 22:52:07 225

原创 代码随想录day13

平衡二叉搜索树:它是一颗空树,或者根结点与两边的高度差的绝对值不超过1,且左右子树都是一颗平衡二叉树 map\set\multimap\multiset。二叉搜索数:有序数,左子树不空,左子树上所有结点的值小于根结点的值;右子树不空,右子树所有结点的值均大于它根结点的值。完全二叉树:只有底部没有填满,且集中在左侧,优先级队列是一个堆,堆是一个完全二叉树。二叉树的存储方式,二叉树可以链式存储指针分布在各处,数组也可以顺序存储。满二叉树:度为0的结点和度为2的结点,度为0的结点在同一层。

2025-01-20 22:02:27 167

原创 代码随想录day11

150逆兰式求表达式的值注意1.stoll可以把字符串转化成longint,longlongint2.取出两个数字都要弹出,注意顺序["4","13","5","/","+"],(4+(13/5))=6。

2025-01-18 21:02:53 221

原创 代码随想录day10

3.peek读取栈顶元素,直接类调用pop函数,intres=this->pop(),栈顶元素被弹出,要把他放进去。2.pop的时候如果出栈是空的,就要入栈的元素输入到出栈,注意先读取栈顶元素,再弹出,如果先弹出就会少元素。给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。左括号的话,Push对应的右括号,如果和top相等就Pop。在S上反复执行重复项删除操作,直到无法继续删除。右括号多了()】,还没有遍历完,栈就空了。(】,如果和top不相等。

2025-01-17 21:09:50 175

原创 代码随想录DAY9

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串s和一个正整数k,请编写一个函数,将字符串中的后面k个字符移到字符串的前面,实现字符串的右旋转操作。theskyisblue去除空格,eulbisykseht,再对每个部分进行反转,blueisskythe。主要是两个函数,第一个是利用快慢指针进行反转,第二个是去除空格。151给定一个字符串,逐个翻转字符串中的每个单词。输入:"theskyisblue"

2025-01-17 18:58:03 192

原创 代码随想录DAY8

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。旧指针指向原数组大小,新指针指向新数组大小,从后向前填充,旧指针指向数字填充,指向字母,赋值给新指针。这道题比较简单,依旧是边界条件是i小于size/2采用双指针的办法,直接采用swap进行交换。先判断I+k,abc,k=3,i+k=3,反转abc,记得跳过continue。reserve函数是左闭右闭,所以选择i i+k-1。加上2k段,实现的reserve函数是左闭右闭。

2025-01-15 12:05:46 157

原创 代码随想录DAY7

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。第二个组里元素可以相同,比如-1 -1 0,但是整个数组不能一样,所以nums[i]和nums[i-1]比。去重b和c的情况呢,是去重元素, -1 -1 -1 0 0 0 1 1 nums[right]四个数相加,遍历数组,将a+b的值放在key里面,value记录次数,采用unordered_map。元素大小是确定的采用数组。

2025-01-14 17:08:24 755

原创 代码随想录DAY6

快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。哈希碰撞是指两个数据都要映射到同一个关键值处,两种解决方案一个是链表,第二个是线性探测,往下放一个,要求tablesize>datasize。给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。注意查找函数和插入函数,查找不到就返回最后的地址,最后返回指针。哈希函数就是完成映射。

2025-01-13 22:50:20 278

原创 任务传输rtos

发现没有数据,阻塞将任务从readylist放在queue.readylist,想读没办法读。任务B读数据被创建出来,放在readylist[10]就绪链表,指向优先级10的任务B。情况2 超时唤醒,因为本身队列是空,超时唤醒的,没有读到数据,返回值是错误的。看流水线,无产品就眯一会---读队列,没有数据就阻塞。队列集只用一个任务,多个设备1轮询法,2队列集。同事A放入产品,唤醒B---任务A写队列。写队列,在中断里面写FromISR。创建 写队列 读队列。任务B,读队列唤醒A。TICK中断超时唤醒。

2025-01-09 13:16:40 245

原创 任务管理rtos

1函数2栈和TCB 动态分配和静态3优先级任务被切换出去,链表里面找到任务结构体控制块,task control block TCB第二个是静态分配,buffer是用数组来表示的,数组的大小注意第一个是动态分配,栈的大小是128。

2025-01-09 13:16:21 271

原创 计算机网络

他是面向连接的(一对一)可靠的基于字节流的传输层通信协议。

2025-01-09 13:15:54 507

原创 驱动入门wds

根据电路图,不管主控芯片输出的3.3V还是1.2V,改变电路接法,比如增加三极管,就可以通过主控芯片的GPIO高低电平控制LED熄灭和点亮,逻辑1是高电平。面对对象 字符设备驱动程序抽象出一个file_opereations,针对硬件部分抽象出一个led_operations结构体。1.CCG两位设置引脚是否使能2.IOMUXC选择引脚模式3.MUX_MODE选择输入输出,PAD_SETTING引脚设置。2.看主芯片手册确定寄存器的操作方法,哪位寄存器,哪些位,地址是。*卸载驱动程序是,就会调用出口函数。

2025-01-09 13:15:37 367

原创 代码随想录DAY1

3.左闭右闭[left,right] [mid+1.right], [left,mid-1]4.左闭右开[left,right) [left,mid) [mid+1,right)1.mid=left+(right-left)-1;双指针,时间复杂度o(n),空间复杂度0(1)2.时间复杂度log2n,空间复杂度o(1)还有个res容器,注意for循坏的条件。双指针,一个指向最左边,一个最右。

2025-01-08 16:23:08 175

原创 Linux相机

应用程序:从完成链表取出buffer处理数据,把buffer放入空闲链表驱动程序:从硬件采集到数据,把空闲链表取出buffer,把数据存入Buffer,把buffer放入完成链表。

2024-12-31 13:03:12 1084

原创 lab2

Xv6使用页表(由硬件实现)为每个进程提供自己的地址空间。RISC-V页表将虚拟地址(RISC-V指令操纵的地址)转换(或“映射”)为物理地址(CPU芯片发送到主存储器的地址)。Xv6为每个进程维护一个单独的页表,定义了该进程的地址空间。如图2.3所示,以虚拟内存地址0开始的进程的用户内存地址空间。首先是指令,然后是全局变量,然后是栈区,最后是一个堆区域(用于malloc)以供进程根据需要进行扩展。有许多因素限制了进程地址空间的最大范围: RISC-V上的指针有64位宽;

2024-12-24 13:59:26 493

原创 xv6 lab1操作系统接口

最终目标:通过一个管道在两个进程之间pingpong一个字节,每个方向一个管道24.12.17。

2024-12-22 14:31:06 846

原创 04linux应用入门

" sub.h"是在当前目录下查找,改成<sub.h>是 gcc -c -o main.c -I ./,指定头文件目录,或者加入到工具链的路径。预处理 ,查找头文件,展开宏---.i, ---编译--- 汇编语言.s ---汇编--- 机器语言.o--- 链接,多个文件组装在一起。start操作-设备地址7bit -方向0表示写1表示读-回应-数据8bit-回应-数据8bit-回应-P结束。SCL 保持高电平 保持高电平 低电平时 高电平。

2024-09-20 14:33:37 994

原创 02LINUX基础指令

目录:绝对路径,相对路径,当前目录(pwd ./ ),上一级目录(../),家目录(/home/book,~),上一个目录(-),根目录(/)-c创建文件 -z gzip压缩 -f表示文件 tar czf test.tar.gz test把test压缩到test.tar.gz。-/d 普通文件、目录文件 拥有者,同组其他用户,其他用户 4 2 1。删除空目录 -rf 强制删除 删除文件夹 rm disk/修改环境变量的三种方法,如果没有指定路径,就会到环境变量执行。-j bzip2压缩 cjf。

2024-09-11 14:38:57 296

原创 WEBSERVER03

线程是允许应用程序并发执行多个任务的一个进制,一个进程包括多个线程,同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数段,未初始化数据段,以及堆内存段.线程同步:有一个线程对内存进行操作时,其他线程都不可以对这个内存地址进行擦偶作,直到该线程完成操作,其他线程才能对内存地址进行操作,其他线程等待。线程的优势是,能够通过全局变量共享信息,确保多个线程不会同时修改同一个变量,或者莫i个线程不会读取正在由其他线程修改的变量。加锁,阻塞,如果一个线程加锁,其他线程只能等待。

2024-09-05 15:06:57 457

原创 WEBSERVER02

进程号会一直被占用,这是僵尸进程的危害。每个进程退出的时候,内核释放该进程所有的资源,父进程可以调用,得到退出状态同时彻底清除wait waitpid功能一样,wait会阻塞,waitpid可以设置不阻塞,waitpid还可以指定等待哪个子进程结束,每次只能清理一个子进程,循环多次清理。3.这个未决状态的信号,需要被处理,处理之前需要和阻塞信号集比较,阻塞信号集默认不阻塞任何的信号,如果想要阻塞某些信号需要用户调用系统的API,阻塞信号的值是1,就被阻塞,是0的话,可以被处理。

2024-09-05 15:06:42 796

原创 WEBSER VER04

动态库和静态库的区别,怎么制作,怎么使用,动态库加载失败。定时器,信号捕捉,sigchld,守护进程。进程和线程的区别,线程同步 互斥锁读写锁。匿名管道,有名管道,内存映射,信号。进程状态,状态转换,进程创建。父子进程虚拟地址空间。

2024-09-05 15:06:22 193

原创 WEBSERVER01

那些文件先编译,那些文件需要重新编译,带来自动化编译的好处make是一个命令工具,Linux下Gnu的make。

2024-09-05 15:06:00 815

原创 鹏哥c指针

指针类型决定指针+-1操作的时候跳过几个字节,决定指针的步长。野指针:指向位置不可知;指针类型决定了指针在解引用是访问几个字节。指针:存地址32个平台,4个字节。

2024-04-08 14:43:01 205

原创 初识c语言鹏哥数组

C99之前数组的大小必须是常量或者常量表达式。c99之后数组的大小可以是变量。不完全初始化,其余元素为0。数组在内存里是连续存放的。

2024-04-03 20:08:03 280 1

原创 初识C语言函数鹏哥

形参不能用sizeof计算数组大小,数组传参实际上传递了数组首元素的地址,arr实际上是指针变量。存在限制条件,满足这个限制条件递归不再继续,递归调用之后越来越接近限制条件。栈区 局部变量 返回值 函数的形参 每一次函数调用都会都会在栈区申请空间。c99引入bool类型 #include 真假。bool is_prime (int n) 真假false true。形参和实参占用不同的内存块,对形参的修改不会改变实参。把函数外部创建变量的内存地址传给函数参数。

2024-04-03 14:52:19 448 1

原创 初识C语言

小数 short(2) 短整型;int(4) 整形;long(4) 长整型;long long(8) 更长整形;整数 float(4) 单精度浮点数;doule(8) 双精度浮点数。sizeof(arr)/sizeof(arr[0])会计算/0。strcmp( ,) 比较字符串是否相等,如果相等返回值是零。全局/局部,当全局变量和局部变量冲突的情况下,局部优先。局部变量变量所在范围,全局变量是整个范围。字符 char(1) 字符数据类型;strlen()不会计算/0。byte 字节八个比特。

2024-04-02 18:08:01 156 1

空空如也

空空如也

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

TA关注的人

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