自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第七天|LeetCode 334.反转字符串、541反转字符串II、151反转字符串中的单词

题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。题目思路:与反转链表相同,依旧采用的是双指针的方法,只不过相对于链表,字符串的反转更为简单一点,因为字符串是数组,所以元素在内存中是连续分布的,这就决定了两者反转的差异。定义两个指针,分别指向字符串的首端和末尾端,然后交换两个指针所指的内容,然后两个指针靠近,直到两个指针的位置重叠即退出。

2024-09-04 11:31:07 946 3

原创 代码随想录算法训练营第一天|LeetCode 704. 二分查找、 27. 移除元素、977.有序数组的平方

一、LeetCode 704. 二分查找题目描述:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。题目思路:,同时题目还强调,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。二分查找涉及的很多的边界条件,逻辑比较简单,但就是写不好。例如到底是还是,到底是呢,还是要呢?

2024-09-01 17:23:25 1075 2

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

与传统的链表的增删改查不同的是,力扣中链表的头结点是第一个结点,这与我们之前讲述的头结点、首元结点不同,所以我们这个题主要考虑的点在于,头结点如果被删除了怎么办?思路:采用双指针的做法,关键在于将反转前的位置进行保存,如果只用一个指针,反转之后就找不到链表连接的位置。本题考察的内容,其实就是链表的增删查等操作,所以我们还是最好能构建一个虚拟头结点。3、在删除、增加等操作时,需要注意确定的位置应该是index前面的一个位置;4、在查找的时候,确定的位置应该是index的位置。题目描述:给你一个链表的头节点。

2024-09-01 10:23:12 968 1

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

可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。当然,还是需要构建虚拟头节点,采用双指针,让一个先走N,然后两个同时再将剩下的走完,就确定了N-1的位置。1、获取两个链表的差值,设置两个指针,让长链表的指针先走差值,然后两个指针一起走,看看会不会相遇。,n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。

2024-08-31 21:17:52 1062

原创 Linux应用--IO多路复用

IO多路复用技术:select、poll、epoll及两种工作模式。

2024-08-14 15:41:15 1175

原创 Linux应用——TCP通信

TCP三次握手,四次挥手,滑动窗口相关知识,利用TCP实现多线程、多进程通信,状态转变以及半关闭与端口复用知识。

2024-08-11 18:26:55 1426

原创 RT-Thread实时操作系统(2)——线程(一)

本篇博客介绍了RT-Thread实时操作系统中线程的相关内容,主要包括有:线程的创建、相关函数以及线程同步的实现。

2024-07-30 16:33:49 1131

原创 RT-Thread实时操作系统(1)——准备工作

本博客介绍RT-Thread实时操作系统的准备工作,包括C语言,链表,内存分配以及其他常见的问题。

2024-07-27 17:59:18 1017

原创 Linux应用——socket函数及TCP通信

本博客主要内容有socket函数的介绍,字节序及其转化函数,IP地址转化,以及TCP通信的流程,利用socket函数初步实现TCP通信,客户端与服务器之间数据传输。

2024-07-24 16:44:28 1057

原创 Linux应用——网络基础

本节为Linux网络编程的基础学习——网络基础,主要讲解BS、CS结构,MAC地址、IP地址子网掩码以及端口。网络模型OSI七层模型,TCP/IP四层模型。简单介绍TCP/UDP、IP协议,以及数据包的封装与分用。

2024-07-19 15:08:38 989

原创 数据结构——栈和队列(C语言实现)

栈和队列是两种重要的线性结构,本次主要对其顺序栈,链栈,顺序队列,链队进行学习,并用C语言对其进行实现。

2024-07-17 21:23:14 1422

原创 Linux应用——线程(二)

线程的同步、互斥问题以及与互斥相关的死锁、读写锁以及举了相关案例——生产者消费者模型,并结合条件变量以及信息量完善了案例的实现。

2024-07-16 21:37:12 679 1

原创 数据结构——线性表(C语言实现)

数据结构线性表的内容:顺序表+链表,增删查改,C语言实现,含有运行结果!!!动态顺序变、单链表、双链表,循环链表;

2024-07-12 10:45:29 2137

原创 C语言——结构体

结构体的学习非常重要,特别是在后期数据结构的学习过程中。主要内容有:结构体、结构体指针、数组,链表,共用体,枚举类型以及typedef.

2024-07-10 11:25:32 1009

原创 Linux应用——线程(一)

本文讲述了线程的概述、创建、终止以及线程分离、取消以及线程属性。

2024-07-09 15:37:18 249

原创 C语言——函数

函数,函数概念,调用与声明,函数参数,局部变量与全局变量,外部函数与内部函数。

2024-07-07 16:46:15 1077

原创 Linux应用---信号

进程间通信的方式——信号,包括信号的概述,信号的相关函数,信号集等等案例讲解。

2024-07-06 15:56:44 1019

原创 Linux应用---内存映射

内存映射也是进程间通信的方式之一,其效率高,可以直接对内存进行操作。本节我们对内存映射进行学习,并结合案例进行实践。

2024-07-03 20:45:06 1298

原创 语音模块——LSYT201B模组(超详细)

对深圳雷龙语音模块——LSYT201B模组进行了详细的介绍,并且利用模块完成了相关的实验测试,是一款合适的语音模块。

2024-07-03 10:57:00 1472

原创 WiFi模块ESP8266同阿里物联网云平台连接(超详细)

本文主要介绍ESP8266同阿里云物联网平台的连接,主要的内容有:阿里云物联网平台的创建,IOT studio平台创建,利用软件模拟用户端和客户端,利用ESP8266完成相关连接通信。

2024-06-27 14:30:40 7260 1

原创 STM32---SPI通信协议(小白入、含源码)

介绍了SPI的基本概念、使用,以及NOR FLASH 的基本概念,完成了利用NM24Q128芯片通过SPI与STM32进行通信,实现了数据的读取。

2024-06-20 14:44:51 5620 1

原创 Linux应用(五)——进程基础

进程的概述,进程与程序的区别,进程的基本状态,父子进程,以及进程的GDB调试等相关内容;

2024-05-16 21:23:25 841

原创 Linux应用(四)——系统IO函数

本节介绍的是linux系统中常见的IO函数的介绍与使用;对基本功能、基本使用以及举例说明的方式对于IO函数做了讲解。

2024-05-10 20:52:18 1227

原创 Linux应用(一)——GCC、静态库、动态库

gcc的使用、静态库的制作与使用、动态库的制作与使用。

2024-04-22 11:13:12 1938

原创 一次失败经验---EEPROM读写操作

无时间间隔连续操作,EEPROM写读;

2024-04-03 19:05:54 657 3

原创 STM32---DHT11温湿度传感器与BH1750FVI光照传感器(HAL库、含源码)

本节我们学习了两个常见模块DHT11温湿度传感器与BH1750光照传感器,利用STM32进行数据采集以及利用串口显示在电脑屏幕。

2024-03-23 20:09:14 3136 10

原创 Linux应用(二)——Makefile

Linux中Makefile文件的相关基础知识以及相关操作的使用

2024-03-19 09:57:50 1721

原创 STM32---SG90舵机控制(HAL库,含源码)

本节我们利用STM32输出不同占空比的PWM波形,成功实现了SG90舵机的转动。讲述了转动的原理,连接线以及分享了HAL库的源码,

2024-03-17 13:38:35 13685 18

原创 STM32---IIC通信协议(含源码,小白进)

节我们再次学习了IIC通信协议的基本知识,结合AT24C02的EEPROM进行了数据的读取实验,

2024-03-10 20:13:26 2439

原创 STM32---通用定时器(二)相关实验

本节我们结合上节的通用定时器的基础理论,分别实现了:通用定时器中断实验、通用定时器输出PWM实验、通用定时器输入捕获实验;进行代码书写以及实验测试。大家学习的时候,多多动手定有收获。

2024-03-09 18:14:19 2382

原创 STM32---通用定时器(一)理论基础

本节对STM32F1的通用定时器部分进行介绍,主要为理论部分:时钟源,输入捕获,输出比较相关知识。

2024-03-09 10:45:36 2173

原创 STM32---基本定时器(含源码)小白可入

本节我们学习了STM32定时器中的基本定时器,主要内容包括:定时器的概述、基本定时器的内容、相关寄存器的讲解,实验的配置步骤与相关库函数,,最后利用实验证明了的基本定时器的使用。

2024-01-12 11:55:39 4090 1

原创 STM32---WWDG(窗口看门狗)超详细

本节我们接着独立看门狗的内容,讲述了窗口看门狗的内容,主要有简介、工作原理、工作框图、相关寄存器以及配置步骤,还有相关实验进行说明,以及IWDG同WWDG的对比。

2024-01-09 21:02:17 4295

原创 STM32---IWDG(独立看门狗),超详细,小白入

本节的主要内容,我们学习的是STM32单片的IWDG即独立看门狗的相关知识,主要的内容有:IWDG的简介与工作原理,相关的寄存器讲解,配置的步骤以及HAL库的相关函数,最后通过实验实现了IWDG控制LED的相关实验现象。

2024-01-08 16:31:08 12748 2

原创 STM32——串口(UART)使用

节主要学习了STM32串口的相关知识,包括有:基本的通信方式,串口通信的基本概念,相关寄存器的设置,以及如何利用HAL进行配置,最后还实现了一个简单的实现。

2024-01-02 08:54:27 8521 3

原创 STM32--中断使用(超详细!)

本文主要讲解了STM32单片机的中断使用,主要内容有:中断的概念、NVIC、EXIT的介绍,以及中断使用的步骤。并且利用中断实现了按键控制LED灯实验。

2023-12-14 13:38:08 59760 19

原创 STM32--GPIO点亮LED灯(手把手,超详细)

本文主要讲解了如何在STM32开发板上点亮第一个LED灯,主要的学习内容为:GPIO配置步骤以及GPIO相关的寄存器,硬件设计部分入代码分析

2023-12-09 10:19:27 23990 2

原创 WiFi模块ESP8266(超详细)---(含固件库、AP、STA、原子云使用)

介绍了WIFI模块,硬件的搭建,指令的介绍、常见的BUG。固件库的烧录AP/STA模式、原子云的工作方式及结果;

2023-12-05 17:11:11 121581 43

原创 STM32---MDK工程创建

带领大家学习如何新建一个寄存器库版本MDK的详细步骤;超详细,手把手!!!

2023-12-02 17:55:33 2169

原创 STM32---时钟树

STM32的时钟树,从简图学习,再到整个时钟树的详解,包括其功能,涉及的相关寄存器,以及配置的系统时钟的方法步骤。

2023-11-30 21:02:59 5482 4

LCD1602自定义字符显示源码

LCD1602自定义字符显示源码

2023-10-12

空空如也

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

TA关注的人

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