- 博客(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
原创 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
原创 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-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应用(四)——系统IO函数
本节介绍的是linux系统中常见的IO函数的介绍与使用;对基本功能、基本使用以及举例说明的方式对于IO函数做了讲解。
2024-05-10 20:52:18 1227
原创 STM32---DHT11温湿度传感器与BH1750FVI光照传感器(HAL库、含源码)
本节我们学习了两个常见模块DHT11温湿度传感器与BH1750光照传感器,利用STM32进行数据采集以及利用串口显示在电脑屏幕。
2024-03-23 20:09:14 3136 10
原创 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---基本定时器(含源码)小白可入
本节我们学习了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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人