当前位置: 首页 > news >正文

LetCode刷题[简单题](5)按摩师,迭代出最优解(卡尔曼滤波也是类似迭代)

所有的遍历寻求有条件约束的最大值都可以转换成,新的数带来的最大值的变化,问题往这个方向转化就可以,问题都是在最中进行选择的,因此关注的问题最大值得上限就好了,不必关注可能随机的下限。关注随机可能的下限会把问题想的更复杂了,往混沌方向走了,思维要清晰简单把握最新变化的可能性。

class Solution {
public:int massage(vector<int>& nums) {//最优计算方式,构建最优计算方法//分类讨论场景1 在顺序中选择插空排列组合int n = nums.size();  //一共有多少的数据总量if (n == 0) {return 0;}if (n == 1) {return nums[0];}int prev1 = nums[0];     //前一个数据int prev2 = std::max(nums[0], nums[1]); //第一个数据与第二个数据中取最大值//还是采用迭代的思路,迭代for (int i = 2; i < n; i++) {   //从第二个数据开始计算int current = std::max(prev2, prev1 + nums[i]);  //第二天与第一天prev1 = prev2;prev2 = current;}return prev2; //最终留下来的都是最大值迭代选法。采用的是迭代的选法//采用数学里归纳法迭代的思路来演化,使用递归应该也能解决}
};

迭代最优解思路。

本题的思路,因为需要访问计算每一次的数据得到最大的那个值,为了n长的数组中,符合slect规律的话,可以先解决 n-1长度的情况下的选择最大值,因为选择是有限制的随机,并且最大的可能是不选,最小值是0,那么问题就会转化为,n长的数组规模下,n-1,给n数组带来变数的可能性,针对问题特性,新的数字给最大值带来了新的可能性那就是相隔一个的选择情况下加上新的n位置的数产生了最大值,或者当初n-1个数的值依然保持最大。这两种比较就可以得到n的时候的最大值。

迭代在计算机中具有许多优势,这些优势使它成为解决问题的常用方法之一:

  1. 空间效率: 迭代通常使用的内存空间相对较小,因为它只需要在内存中保留有限数量的变量和数据结构。相比之下,递归可能需要维护递归调用的堆栈,占用更多内存。

  2. 时间效率: 迭代通常比递归更快,因为它避免了递归调用的开销。递归调用需要保存当前函数的状态、参数等信息,并在递归返回时恢复这些状态,而迭代仅使用循环来执行操作,减少了这些开销。

  3. 可读性: 迭代往往更容易理解和调试,因为它是一个线性的控制流结构。递归可能会变得更加复杂,因为它涉及到函数的嵌套调用,难以跟踪和理解。

  4. 栈保留: 迭代通常更容易控制和限制栈的深度。递归调用可能会导致栈溢出,特别是对于大规模的问题,而迭代可以更容易地避免这种情况。

  5. 优化: 编译器和解释器通常能够对迭代代码进行更好的优化,因为它们能够更容易地分析和理解迭代的行为,从而提高性能

相关文章:

LetCode刷题[简单题](5)按摩师,迭代出最优解(卡尔曼滤波也是类似迭代)

所有的遍历寻求有条件约束的最大值都可以转换成&#xff0c;新的数带来的最大值的变化&#xff0c;问题往这个方向转化就可以&#xff0c;问题都是在最中进行选择的&#xff0c;因此关注的问题最大值得上限就好了&#xff0c;不必关注可能随机的下限。关注随机可能的下限会把问…...

C/C++笔试易错与高频题型图解知识点(二)—— C++部分(持续更新中)

目录 1.构造函数初始化列表 1.1 构造函数初始化列表与函数体内初始化区别 1.2 必须在初始化列表初始化的成员 2 引用&引用与指针的区别 2.1 引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象 2.2 引用和指针的区别 3 构造函数与析构函数系列题 3.1构造函数与析…...

使用new创建动态结构

在运行时创建数组优于在编译时创建数组&#xff0c;对于结构&#xff08;同一个结构可以存储多种类型的数据。&#xff09;也是如此。需要在程序运行时为结构分配所需的空间&#xff0c;这也可以使用new运算符来完成。通过使用new&#xff0c;可以创建动态结构。同样&#xff0…...

论文笔记与复现[156]PARAFAC. tutorial and applications

原文下载&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0169743997000324 摘要 本文介绍了PARAFAC的多维分解方法及其在化学计量学中的应用。PARAFAC是PCA向高阶数组的推广&#xff0c;但该方法的一些特性与普通的二维情况截然不同。例如&#xff0c;…...

Python 基础30道测试题

你好&#xff0c;我是悦创。 我会给出 30 道涉及 Python 基础的题目。这些题目将覆盖各种 Python 基础知识点&#xff0c;包括数据类型、控制结构、函数、模块等。 输出 “Hello, World!”。创建一个变量&#xff0c;并为其赋值&#xff0c;然后输出该变量的值。输入两个数&a…...

【环境搭建】linux docker-compose安装rocketmq

创建目录 mkdir -p /data/docker/rocketmq/namesrv/logs mkdir -p /data/docker/rocketmq/broker1/conf mkdir -p /data/docker/rocketmq/broker1/logs mkdir -p /data/docker/rocketmq/broker1/store 给权限 chmod -R 777 /data/docker/rocketmq 创建配置文件 cd /data/d…...

python:使用卷积神经网络(CNN)进行回归预测

作者:CSDN @ _养乐多_ 本文详细记录了从Excel或者csv中读取用于训练卷积神经网络(CNN)模型的数据,包括多个自变量和1个因变量数据,以供卷积神经网络模型的训练。随后,我们将测试数据集应用于该CNN模型,进行回归预测和分析。 该代码进一步修改可用于遥感影像回归模型. …...

数据结构----算法--五大基本算法

数据结构----算法–五大基本算法 一.贪心算法 1.什么是贪心算法 在有多个选择的时候不考虑长远的情况&#xff0c;只考虑眼前的这一步&#xff0c;在眼前这一步选择当前的最好的方案 二.分治法 1.分治的概念 分治法&#xff1a;分而治之 将一个问题拆解成若干个解决方式…...

网格大师如何把b3dm转为osgb格式?

答&#xff1a;在网格大师的倾斜数据处理工具中选中“3DTiles转OSGB”&#xff0c;设定数据输入路径和输出路径提交任务即可。 网格大师是一款能够解决实景三维模型空间参考、原点、瓦块大小不统一&#xff0c;重叠区域处理问题的工具“百宝箱”&#xff0c;集格式转换、坐标转…...

基于深度优先搜索的图遍历

这里写目录标题 基于深度优先搜索的无向图遍历算法流程图Python实现Java实现 基于深度优先搜索的有向图遍历Python实现 基于深度优先搜索的无向图遍历 使用深度优先搜索遍历无向图&#xff0c;将无向图用邻接表存储&#xff1a; 算法流程图 初始化起点 source&#xff0c;当…...

Web3D虚拟人制作简明指南

如何在线创建虚拟人? 虚拟人,也称为数字化身、虚拟助理或虚拟代理,是一种可以通过各种在线平台与用户进行逼真交互的人工智能人。 在线创建虚拟人变得越来越流行,因为它为个人和企业带来了许多好处。 通过虚拟助理或代理,您可以以更具吸引力和个性化的方式与客户或受众进…...

【大数据 - Doris 实践】数据表的基本使用(一):基本概念、创建表

数据表的基本使用&#xff08;一&#xff09;&#xff1a;基本概念、创建表 1.创建用户和数据库2.Doris 中数据表的基本概念2.1 Row & Column2.2 Partition & Tablet 3.建表实操3.1 建表语法3.2 字段类型3.3 创建表3.3.1 Range Partition3.3.2 List Partition 1.创建用…...

剑指Offer || 038.每日温度

题目 请根据每日 气温 列表 temperatures &#xff0c;重新生成一个列表&#xff0c;要求其对应位置的输出为&#xff1a;要想观测到更高的气温&#xff0c;至少需要等待的天数。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入: temperatures…...

URL because the SSL module is not available

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host‘pypi.org’, port443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(“Can’t connect to HTT PS URL because the…...

excel 日期与时间戳的相互转换

1、日期转时间戳&#xff1a;B1INT((A1-70*365-19)*86400-8*3600)*1000 2、时间戳转日期&#xff1a;A1TEXT((B1/10008*3600)/8640070*36519,"yyyy-mm-dd hh:mm:ss") 以上为精确到毫秒&#xff0c;只精确到秒不需要乘或除1000。 使用以上方法可以进行excel中日期…...

MongoDB中的嵌套List操作

前言 MongoDB区别Mysql的地方&#xff0c;就是MongoDB支持文档嵌套&#xff0c;比如最近业务中就有一个在音频转写结果中进行对话场景&#xff0c;一个音频中对应多轮对话&#xff0c;这些音频数据和对话信息就存储在MongoDB中文档中。集合结构大致如下 {"_id":234…...

【C#】什么是并发,C#常规解决高并发的基本方法

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 在实际项目开发中&#xff0c;多少都会遇到高并发的情况&#xff0c;有可能是网络问题&#xff0c;连续点击鼠标无反应快速发起了N多次调用接口&#xff0c; 导致极短时间内重复调用了多次…...

MySQL双主一从高可用

MySQL双主一从高可用 文章目录 MySQL双主一从高可用环境说明1.配置前的准备工作2.配置yum源 1.在部署NFS服务2.安装主数据库的数据库服务&#xff0c;并挂载nfs3.初始化数据库4.配置两台master主机数据库5.配置m1和m2成为主数据库6.安装、配置keepalived7.安装部署从数据库8.测…...

#力扣:2894. 分类求和并作差@FDDLC

2894. 分类求和并作差 - 力扣&#xff08;LeetCode&#xff09; 一、Java class Solution {public int differenceOfSums(int n, int m) {return (1n)*n/2-n/m*(mn/m*m)/2;} } 二、C class Solution { public:int differenceOfSums(int n, int m) {return (1n)*n/2-n/m*(mn…...

【网络协议】聊聊从物理层到MAC层 ARP 交换机

物理层 物理层其实就是电脑、交换器、路由器、光纤等。组成一个局域网的方式可以使用集线器。可以将多台电脑连接起来&#xff0c;然后进行将数据转发给别的端口。 数据链路层 Hub其实就是广播模式&#xff0c;如果A电脑发出一个包&#xff0c;B、C电脑也可以收到。那么数据…...

HardSourceWebpackPlugin故障排除:7个常见问题及解决方案

HardSourceWebpackPlugin故障排除&#xff1a;7个常见问题及解决方案 【免费下载链接】hard-source-webpack-plugin 项目地址: https://gitcode.com/gh_mirrors/ha/hard-source-webpack-plugin HardSourceWebpackPlugin 是 Webpack 生态系统中一个强大的缓存插件&#…...

YOLOE镜像从入门到精通:环境激活、代码预测、训练微调全流程

YOLOE镜像从入门到精通&#xff1a;环境激活、代码预测、训练微调全流程 1. 镜像环境准备与快速启动 1.1 环境配置检查 YOLOE官方镜像已经预装了所有必要的依赖项和工具链&#xff0c;确保开发者可以立即开始工作而无需担心环境配置问题。以下是关键环境信息&#xff1a; 项…...

OpenClaw多模型切换:SecGPT-14B与Qwen在安全场景的对比调用

OpenClaw多模型切换&#xff1a;SecGPT-14B与Qwen在安全场景的对比调用 1. 为什么需要多模型切换&#xff1f; 去年我在搭建个人安全分析工作流时&#xff0c;发现单一模型很难满足所有需求。SecGPT-14B在漏洞深度分析时表现出色&#xff0c;但简单的日志筛查任务用Qwen就能快…...

5步搞定CYBER-VISION零号协议:Anaconda环境搭建与依赖安装

5步搞定CYBER-VISION零号协议&#xff1a;Anaconda环境搭建与依赖安装 1. 为什么选择Anaconda管理AI项目环境 在开始安装CYBER-VISION零号协议前&#xff0c;我们需要先解决一个关键问题&#xff1a;如何避免Python环境混乱。想象你正在装修房子&#xff0c;把所有工具和材料…...

LN2266 超小型 低电压启动 PWM 控制 升压 DC/DC 电压调整器

■ 产品概述 LN2266 是一款微型、高效率、升压 DC/DC 调整器。电路由电流模 PWM 控制环路&#xff0c;误差放大器&#xff0c;斜波产生电路&#xff0c;比较器和一个功率开关等模块组成。该芯片可在较宽负载范围内高效稳定的工作。低于 1V 的启动电压&#xff0c;可以使用 1-4节…...

EnviroDIY_DS3231库详解:DS3231高精度RTC驱动与低功耗唤醒实践

1. EnviroDIY_DS3231 库深度解析&#xff1a;面向嵌入式数据采集系统的高精度RTC驱动实践1.1 库定位与工程价值EnviroDIY_DS3231 是一个专为 Arduino 生态设计的 DS3231 实时时钟&#xff08;RTC&#xff09;驱动库&#xff0c;其核心目标并非简单封装 IC 通信&#xff0c;而是…...

快商通:引领智能客服新范式,驱动企业服务数字化转型

在数字化转型加速的今天&#xff0c;智能客服系统已不再是企业的“可选项”&#xff0c;而是提升服务效率、优化客户体验、驱动业务增长的核心基础设施。无论是初创公司还是行业巨头&#xff0c;都面临着如何选择合适智能客服系统、如何将其真正落地并发挥最大价值的挑战。尤其…...

好写作AI“期刊论文智造局”:解锁学术发表的通关秘籍

在学术的江湖里&#xff0c;期刊论文就像是一把把锋利的宝剑&#xff0c;是学者们披荆斩棘、开疆拓土的得力武器。然而&#xff0c;想要打造出一把称手的“宝剑”&#xff0c;从选题到撰写&#xff0c;再到格式调整&#xff0c;每一步都充满挑战。别愁啦&#xff01;好写作AI化…...

Abaqus模拟铝合金搅拌摩擦焊顺序热力耦合过程:残余应力仿真与最优焊接方案对比

abaqus铝合金搅拌摩擦焊&#xff0c;顺序热力耦合中残余应力的仿真&#xff0c;根据仿真温度去模拟焊后残余应力&#xff0c;焊接过程中不同焊接方案下的温度、瞬态应力变化曲线以及焊后残余变形&#xff0c;对比最优焊接方案铝合金搅拌摩擦焊&#xff08;FSW&#xff09;的数值…...

告别SDK迷宫:手把手教你用CCS12.1.0为TMS320F280039搭建纯净工程骨架(附文件屏蔽指南)

告别SDK迷宫&#xff1a;手把手教你用CCS12.1.0为TMS320F280039搭建纯净工程骨架&#xff08;附文件屏蔽指南&#xff09; 第一次打开C2000Ware MotorControl SDK时&#xff0c;那种被数百个文件夹和文件淹没的感觉&#xff0c;相信很多开发者都深有体会。面对如此庞大的资源库…...