代码随想录day11

状态机设计与实现( stm32小车避障为例) 本文以STM32小车避障为例,介绍了状态机设计与实现方法。首先阐述了状态机的事件驱动特性、清晰结构和易扩展优势,并给出硬件组成框架。核心实现部分展示了状态枚举定义、状态转移图和主循环框架,通过switch-case结构实现状态切换。关键状态示例包括前方扫描和转向决策逻辑,通过传感器数据驱动状态转移。总结指出状态机设计需定义枚举状态、实现状态函数、使用switch跳转并更新全局状态。文章最后声明内容为学习笔记,欢迎读者指正交流。全文结构清晰,代码示例具体,为嵌入式系统状态机设计提供了实用参考。 阅读详情

第五章 栈与队列part02

150. 逆波兰表达式求值

题目链接/文章讲解/视频讲解:代码随想录

239. 滑动窗口最大值 (有点难度,可能代码写不出来,但一刷至少需要理解思路)

题目链接/文章讲解/视频讲解:代码随想录

347.前 K 个高频元素 (有点难度,可能代码写不出来,一刷至少需要理解思路)

题目链接/文章讲解/视频讲解:代码随想录

150. 逆波兰表达式求值--后缀表达式

思路

中缀表达式:(1+2)*(3+4)

后缀表达式:12+34+*

遇到数字加入栈中,遇到符号就计算栈顶前两个元素

栈适合做相邻字符的消除操作(符号匹配消除、或符号符合某种条件)

class Solution {
    public int evalRPN(String[] tokens) {
        Deque<Integer> stack = new LinkedList();
        for (String s : tokens) {
            if ("+".equals(s)) {        // leetcode 内置jdk的问题,不能使用==判断字符串是否相等
                stack.push(stack.pop() + stack.pop());      // 注意 - 和/ 需要特殊处理
            } else if ("-".equals(s)) {
                stack.push(-stack.pop() + stack.pop());
            } else if ("*".equals(s)) {
                stack.push(stack.pop() * stack.pop());
            } else if ("/".equals(s)) {
                int temp1 = stack.pop();
                int temp2 = stack.pop();
                stack.push(temp2 / temp1);
            } else {
                stack.push(Integer.valueOf(s));
            }
        }
        return stack.pop();
    }
}

 239. 滑动窗口最大值(待解决)

思路

滑动窗口实际上是一个队列,所需要的操作有:入队、出队、返回最大值,重点在于出队要保证最大元素在入口。

细节注意

  1. 首先将最大数字前的元素出队
  2. 要入队的数字小于等于入口数字:正常入队
  3. 要入队的数字大于入口数字:先将该数字入队,然后将在其前面的出队
  4. 每一次数组更新前返回入口数字

 347.前 K 个高频元素

由于要比较各个元素出现的次数,所以用HashMap,以频率作为key排序,但题目是前k个元素,所以全部排序就显的没有那么必要(主要是时间复杂度太高),那么又是边入队边排大小

基于simulink的低通滤波器(Low-pass Filter, LPF) 摘要:本文详细介绍了如何在Simulink中搭建低通滤波器进行噪声抑制仿真。通过定义系统需求(50Hz信号+250Hz噪声)、添加信号源、设计6阶巴特沃斯低通滤波器(截止频率100Hz)、连接各模块并配置仿真参数,最终实现高频噪声的有效滤除。该教程包含从模型创建到结果分析的完整流程,为信号处理系统开发提供了基础框架,并可进一步扩展为自适应滤波等高级应用。所需MATLAB版本为R2023a及以上,需安装Simulink和DSPSystemToolbox。 阅读详情

相关推荐

普冉PY32F003定时器实战:从HSE时钟配置到500ms精准闪烁LED(附完整代码)

本文详细解析了普冉PY32F003单片机定时器的实战应用,从HSE时钟配置到实现500ms精准LED闪烁。通过完整的代码示例和深入的技术分析,帮助开发者掌握定时器参数计算、中断优先级管理及调试技巧,适用于各类嵌入式开发项目。

weixin_30608503的博客 451

代码随想录Day11

AC代码。

HNTZB的博客 292

基于LTspice的共模电感差模/共模插入损耗仿真指南

在电源与EMC设计领域,插入损耗是衡量滤波器件抑制噪声能力的核心指标。共模电感作为EMI滤波器中最常见的元器件之一,其差模与共模插入损耗特性直接影响整体滤波方案的合规性。然而,仅依赖规格书曲线往往难以覆盖真实应用中的阻抗条件,借助SPICE仿真工具进行电路级验证已成为工程师常用的手段。LTspice凭借其轻量、高效的交流分析能力,能够帮助设计者快速搭建共模电感等效模型,并通过调整耦合系数、寄生电容等参数,还原漏感与谐振行为。本文以Wurth Elektronik的WE 744821201型号为例,从基本测试

weixin_27252001的博客 293

代码随想录五刷day11

单调栈

ResNet156的博客 383

MAX31865三线PT100测温实战:配置、接线与代码全解析

本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。

ss78901的博客 757

基于 Go 的微信滑块验证码自动化:协议还原与图像算法深度解析

本文从协议层、算法层和工程优化三个维度,系统拆解了基于Go的微信滑块验证码自动化方案。在协议层,通过手写protobuf编码器和RSA加密复现了微信UUID生成机制;在算法层,采用图像匹配技术实现滑块缺口定位;在工程层面,构建了包含HTTP状态机和随机化设备指纹的完整验证流程。文章重点阐述了技术实现的形式化建模、算法选择依据和复杂度分析,为工程师和算法研究者提供了可验证的技术方案。核心代码结构包括UUID生成、滑块状态机和图像匹配算法等模块,通过分层设计实现了高效可靠的验证码自动化破解。

weixin_65409651的博客 1293

代码随想录第五十八期day11

对于push来说,我们要保持他单调的话,必须要用while,因为里面不止执行一次,所以当单调队列不为空并且要加入到值大于单调队列最右边的值时候就一直这样找,直到找到小于的地方,才不把里面元素弹出,把要加入的元素加入。首先我们先实现单调队列,cpp构造一个类,重置里面pop,push方法,对于pop来说,只要单调队列不为空,并且要删除的值等于单调队列里面的最左边的值(即最大值)就可以删掉它了。如果都不是,那么不用执行任何操作。输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,“

qq_64919637的博客 603

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

代码随想录Day 11

凡是我遇见的我都喜欢,一切都被接受。150. 逆波兰表达式求值。347.前 K 个高频元素。239. 滑动窗口最大值。

free_puppy的博客 228

【硬件开源实战】STM32G070RBT6开发板从设计到避坑全解析

本文全面解析了STM32G070RBT6开发板从硬件设计到避坑的实战经验。详细介绍了电源设计、时钟电路、PCB布局等关键环节,分享了成本控制、焊接测试、软件开发和外设驱动的实用技巧,帮助开发者高效完成项目开发。

weixin_26897585的博客 237

打开电脑自动弹窗问题:无法为文件‘D:\Config.Msi\*.rbf‘设置文件安全。错误:5。请确认...如何解决?| 提供多种解决方案,亲测有效!

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2914

代码随想录刷题day11

感悟:层序遍历就是按照一层一层遍历,广度优先遍历就从此而来。非递归的写法需要借助一个队列。感悟:二叉树的递归遍历有模版可以套用,如下。1、二叉树的递归遍历。2、二叉树的层序遍历。

LL_xjbt的博客 202

【软考】高项论文写作常见模板

本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。

奶爸的编程之路,也就一周冷个三天 1687

代码随想录60期day 11

【代码】代码随想录60期day 11。

qq_19555169的博客 222

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

代码随想录算法训练营day11(二叉树)

【代码】代码随想录算法训练营day11(二叉树)

huaz_md的博客 612

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

代码随想录DAY11

代码随想录DAY11 栈

shiliuhua05的博客 381

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

代码随想录算法训练营day11

今天是算法营的第11天,希望自己能够坚持下来!今日任务:● 150. 逆波兰表达式求值● 239. 滑动窗口最大值● 前 K 个高频元素● 总结今天主要是学习了:1.栈适合解决一些临近元素之间操作的问题2.deque和优先级队列的用法明天继续加油!

qq_38365428的博客 531

Day11代码随想录

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。

weixin_55956746的博客 2753

代码随想录day11 栈与队列

栈与队列

weixin_41146442的博客 267

代码随想录算法训练营Day11|栈与队列Part2

遍历逆波兰表达式存储至栈,遇到运算符,则pop两个数值参与运算(先pop出的值放在运算符的后面参与运算),运算后的结果再存储至栈,循环以上操作。注意:当滑动窗口向后移动时,需要比较【单调队列中的首值】是否和【滑动窗口后移前的首值】相同,若相同,则需将单调队列中的首值popleft出。对元素出现的频率进行排序,可利用map(key存储元素,value存储元素出现次数)进行存储。比较,去除队列中比当前值小的值,保证队列永远是单减的。,大顶堆是根节点最大的元素,小顶堆是根节点最小的元素。数据结构,该类数据结构。

Lspeak的博客 351

代码随想录day11-逆波兰表达式求值/滑动窗口最大值/前 K 个高频元素

代码随想录。

zhengjojo的博客 406

代码随想录|day 11

求助:请问力扣周赛我总是错过怎么办,有什么通知机制嘛,要开始了发邮件通知我一下这样。如果有想要开始刷题的朋友正好看到此刻我的学习过程,或许会对你有帮助,那就是我记录的第二意义了。

donge520的博客 731

代码随想录 day11

代码随想录

ggggtxgt的博客 706

《代码随想录》Day11打卡!

本题的思路如下: 1.本题其中一种方法就是:将滑动窗口的数存入到队列中,每次移动窗口时,队首的元素移出去,将新的元素添加到队尾,每移动一次就计算目前队列中的最大值,将其存储在结果数组中。2.第二种方法就是创建一个单调队列,队列中存储的是数组中数的索引值:遍历数组,当队列不为空时,判断队列的队首元素与(i - k + 1)进行对比,如果队首元素小于后者,则说明此时队首的元素应该超出了窗口的大小,则将该元素从队列中移除。//弹出队头(小顶堆的根结点),即把堆里出现次数最少的那个删除,留下的就是出现次数多的了。

qq_59615070的博客 863
上一篇: 代码随想录day10
下一篇: 代码随想录day13
cookieeee_
博客等级 码龄4年 189粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值