jjzjj

夜深人静学32系列10——GPIO中断/NVIC/EXTI/SYSCFG详解,外部中断控制LED

这里写目录标题什么是中断?中断的意义GPIO外部中断的中断简图NVIC什么是NVIC?中断向量表NVIC寄存器中断使能寄存器:Interruptset-enableregisters(NVIC_ISERx)中断除能寄存器:Interruptclear-enableregisters(NVIC_ICERx)中断挂起寄存器:Interruptset-pendingregisters(NVIC_ISPRx)中断解挂寄存器:Interruptclear-pendingregisters(NVIC_ICPRx)中断活动位寄存器:Interruptactivebitregisters(NVIC_IABRx

夜深忽梦少年事,7年又一年,来看看95年那个小伙现在怎么样了

2022年已到尾声,疫情也结束了,这三年太不容易了,今年也是一样在疫情的艰难的度过,就是做了两件事,防疫和上班,没什么可写的。但是在一个深夜晚上,想了很多以前的事,想想还是写一点东西吧,虽然都过去了,但回忆起来却是别有一番滋味,给自己一个交代吧,与大家共勉之。2021年再出发从2021年开始说吧,我,95后,来自甘肃陇南,17年西安一所普通的本科院校毕业,在西安上的大学,也就在西安找的第一份工作。刚开始我是做PHP的,18年吧转到了前端,19年也是在同一家公司上班,3年无事,本本分分工作(ps:哈哈,现在也是本本分分地工作,虽然有时候摸摸鱼,话说回来要珍惜第一份工作的机会,多学习,积累经验,为

夜深人静写算法(四十三)- 线性DP

文章目录一、前言二、递推1、斐波那契数列1)题目描述2)算法分析3)源码详解4)简单复盘2、爬楼梯1)题目描述2)算法分析3)源码详解4)简单复盘三、线性DP1、使用最小花费爬楼梯1)题目描述2)算法分析3)源码详解4)简单复盘2、打家劫舍1)题目描述2)算法分析

【夜深人静学习数据结构与算法 | 第十二篇】动态规划——背包问题

 目录 前言: 01背包问题:二维数组思路:一维数组思路:总结: 前言:   在前面我们学习动态规划理论知识的时候,我就讲过要介绍一下背包问题,那么今天我们就来讲解一下背包问题。在这里我们只介绍01背包,至于分组背包和混合背包这种的已经属于竞赛级别的了,难度过高,我们在这里就不学习了。【夜深人静学数据结构与算法|第十篇】动态规划_我是一盘牛肉的博客-CSDN博客 01背包问题:该问题的背景是一个背包和一组物品,每个物品都有自己的价值和重量。目标是选择一些物品放入背包中,使得放入的物品总重量不超过背包的容量,且总价值最大化。具体来说,给定n个物品,其重量分别为w1,w2,…,wn,价值分别为v1

【夜深人静学数据结构与算法 | 第九篇】栈与队列

目录​前言:栈:栈的实际应用: 队列:队列的实际应用:总结:前言:    栈与队列是我们学习的两个经典的数据结构,这两个数据结构应用广泛,在计算机内有很多底层应用,而很多算法也是依靠栈和队列来实现的,因此我们要想学好数据结构与算法,就要学好栈与队列这两个最经典的数据机构。栈:栈是一种后进先出(Last-In-First-Out,LIFO)的数据结构,它可以实现快速的数据插入和删除操作。栈可以具备以下几个特点:1.栈中添加和删除元素都在同一个位置进行,即栈顶。2.栈中元素的添加和删除顺序是相反的,即后进先出。3.栈的长度是动态变化的,但它有一个默认或者是最大长度限制。在栈中,新元素被插入到栈顶位

【夜深人静学数据结构与算法 | 第十篇】动态规划

目录前言:动态规划:常见应用:解题步骤: 动态规划的简化步骤:案例:509.斐波那契数-力扣(LeetCode)70.爬楼梯-力扣(LeetCode)62.不同路径-力扣(LeetCode)总结:前言:    本文我们将为大家讲解一下动态规划的理论知识,并且会讲解几道力扣的经典例题。各位如果感兴趣可以点击进来阅读。动态规划:动态规划是一种解决问题的数学思想和算法。它通常用于解决优化问题,即在一系列决策中找到最优解。动态规划的关键是将问题划分为子问题并进行递推求解。实际上,动态规划可以看作是将大问题划分为更小的,重复的子问题的解决方法,通过存储子问题的解并重复使用它们来减少计算。因此动态规划中经

【夜深人静学数据结构与算法】回溯算法

目录前言:回溯算法:回溯法的常见应用:回溯法的模板:回溯法的图解:​案例:77.组合-力扣(LeetCode)总结:前言:    回溯算法是一个比较抽象的算法,因此我们如果初学者,难度可以说是非常大,因此我们利用这篇来讲解回溯算法的理论知识,后续在力扣刷题里面也会详细介绍回溯算法的相关例题。回溯算法:回溯算法是一种常见的求解问题的算法。它通常被用来在大量的解空间中搜索所有可能的解,找到所需的解或最优解。回溯算法通常使用递归来实现。在回溯算法中,递归函数用于在候选解空间中搜索所有可能的解。回溯算法将问题分解为许多子问题,并递归地对每个子问题进行求解。通过回溯和剪枝,可以避免不必要的计算,提高算法

【夜深人静学数据结构与算法 | 第十一篇】枚举算法

目录前言:枚举算法:优点:枚举算法的种类:枚举算法案例:343.整数拆分-力扣(LeetCode)12.整数转罗马数字-力扣(LeetCode)总结:前言:本文我们将为大家介绍什么是枚举算法,以及枚举算法的优点,在后面我们也会为大家讲解几道枚举算法的经典例题,各位感兴趣的可以点击进来进行阅读。枚举算法:枚举算法也称为穷举算法,是一种基本的计算机算法。该算法的基本思想是列举出所有可能的情况,并一一进行考虑和判断,最终得出正确的答案。 枚举算法的步骤通常如下:1.确定问题的解空间,即问题的所有可能解的集合;2.枚举解空间中所有可能的解;3.对于每个解,判断其是否符合问题的要求;4.最终得出所求的答

【夜深人静学数据结构与算法 | 第一篇】KMP算法

目录 前言: KMP算法简介:引入概念:前缀后缀前缀表:简单例子:暴力遍历:KMP算法:​ KMP算法难点:总结: 前言:本篇我们将详细的从理论层面介绍一下什么是KMP算法,相对应的力扣刷题专栏里也会有相对应的习题,欢迎各位前往阅读。 KMP算法简介:     KMP算法是一种字符串匹配算法,用于在一个文本串中查找某个子串出现的位置。KMP算法的原理是根据模式串的特点,在匹配过程中避免重复匹配已经匹配过的部分。具体来说,KMP算法维护两个指针:i和j,表示当前匹配位置和模式串匹配的起点。当出现不匹配时,通过已匹配部分构建一个next数组,用以确定模式串下一次匹配起点的位置。    KMP算法的

【夜深人静学习数据结构与算法 | 第六篇】贪心算法

目录前言:引入:贪心算法:   455.分发饼干-力扣(LeetCode)376.摆动序列-力扣(LeetCode)53.最大子数组和-力扣(LeetCode)122.买卖股票的最佳时机II-力扣(LeetCode)前言:    在本文我们将为大家介绍在计算机中比较常见的一种算法:贪心算法。他并没有具体的代码实现后者是方法套路,而是一种简单,高效的思维方式,因此需要我们以学习思维方式为辅,练习题目为主,这样才可以更加高效的掌握贪心算法。引入:         请各位思考一下:如果我们想要在大学的期末考试中取得一个好成绩,我们应该怎么办呢?我们应该学好每一课,那又要如何学好每一科呢?那就要每一节
12