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

leetcode 2944.购买水果需要的最小金币

思路:dp

这道题一开始想的时候并不会,但是看到了有些水果可以买也可以不买,所以就想到了选择与不选择的思路。

对于每一个水果,我们都有买和不买的选择,但是我们的第一个水果是一定要买的。然后再往后推导。

用dp[][2]来表示这个状态方程。dp[i][1]表示的就是选择买第i个水果,另外一个状态就是不买了。

但是大家也发现了,不买水果的话,我们还需要知道的一点就是前面是否有买过水果能让当前这个水果不用买呢?这是这道题的核心问题。既然不买,那么肯定就必须是前面买过的水果里有覆盖这个水果的。

这怎么办呢?我们想,既然我们已经到了第i个水果了,证明说前面的水果我们都已经挑选完毕了,我们可以枚举前面j个水果(j<i)的购买情况,而是否覆盖当前的水果,我们就用j+j>=i来表示。为什么呢?第一个j代表我们已经买到当前的水果j了,然后这个水果又可以往后覆盖j个水果让他免费。并且这个>=i是包含我们当前水果的判断。

dp[i][0]=min(dp[i][0],dp[j][1])这就是不选择买当前水果的方程。

好了,我解决最棘手的问题之后,剩下的就好解决了,选择买这个水果那么方程就是:

dp[i][1]=min(dp[i-1][0],dp[i-1][1])+prices[i-1](这里i是从2开始的)

上代码:

class Solution {
public:int minimumCoins(vector<int>& prices) {int n=prices.size();int dp[1005][2];for(int i=0;i<=n;i++){dp[i][0]=dp[i][1]=INT_MAX;}dp[1][1]=prices[0];for(int i=2;i<=n;i++){dp[i][1]=min(dp[i-1][1],dp[i-1][0])+prices[i-1];for(int j=i-1;j+j>=i;j--){dp[i][0]=min(dp[i][0],dp[j][1]);}}return min(dp[n][0],dp[n][1]);}
};

相关文章:

leetcode 2944.购买水果需要的最小金币

思路&#xff1a;dp 这道题一开始想的时候并不会&#xff0c;但是看到了有些水果可以买也可以不买&#xff0c;所以就想到了选择与不选择的思路。 对于每一个水果&#xff0c;我们都有买和不买的选择&#xff0c;但是我们的第一个水果是一定要买的。然后再往后推导。 用dp[]…...

算法人生(14):从“探索平衡策略”看“生活工作的平衡之道”

在强化学习中&#xff0c;有一种策略叫“探索平衡策略Exploration-Exploitation Trade-off&#xff09;”&#xff0c;这种策略的核心是在探索未知领域&#xff08;以获取更多信息&#xff09;和利用已知信息&#xff08;来最大化即时回报&#xff09;之间寻求平衡&#xff0c;…...

如何使用Tushare+ Backtrader进行股票量化策略回测

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学&#xff0c;点击下方链接报名&#xff1a; 量化投资速成营&#xff08;入门课程&#xff09; Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…...

Guid转换为字符串

在理想情况下&#xff0c;任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2128&#xff08;3.41038&#xff09;个&#xff0c;所以随机生成两个相同GUID的可能性非常小&#xff0c;但并不为0。GUID一词有时也专指微软对UUID标准的实现。 (1). GUID&#…...

OpenAI的搜索引擎要来了!

最近的报道和业界泄露信息显示&#xff0c;OpenAI正秘密研发一款新的搜索引擎&#xff0c;可能叫SearchGPT或Sonic&#xff0c;目标是挑战Google的搜索霸权。预计这款搜索引擎可能在5月9日即将到来的活动中正式亮相。 SearchGPT的蛛丝马迹 尽管OpenAI对SearchGPT尚未表态&…...

PaddlePaddle与OpenMMLab

产品全景_飞桨产品-飞桨PaddlePaddle OpenMMLab算法应用平台...

HBuilderX uniapp+vue3+vite axios封装

uniapp 封装axios 注&#xff1a;axios必须低于0.26.0&#xff0c;重中之重 重点&#xff1a;封装axios的适配器adapter 1.安装axios npm install axios0.26.0创建api文件夹 2.新建adapter.js文件 import settle from "axios/lib/core/settle" import buildURL…...

【网络安全产品】---应用防火墙(WAF)

what Web应用防火墙&#xff08;Web Application Firewall) WAF可对网站或者App的业务流量进行恶意特征识别及防护&#xff0c;在对流量清洗和过滤后&#xff0c;将正常、安全的流量返回给服务器&#xff0c;避免网站服务器被恶意入侵导致性能异常等问题&#xff0c;从而保障…...

C++学习第十二天(继承)

1、继承的概念以及定义 继承的概念 继承机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行拓展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。继承呈现了面向对象程序设计的层次结构&#x…...

WPF DataGrid绑定后端 在AutoGeneratingColumn事件中改变列名

public void OnAutoGeneratingColumn(DataGridAutoGeneratingColumnEventArgs e){var propertyDescriptor (PropertyDescriptor)e.PropertyDescriptor;if (propertyDescriptor.IsBrowsable){e.Column.Header propertyDescriptor.DisplayName;}else{e.Cancel true;}}实体类中…...

2024 CorelDraw最新图形设计软件 激活安装教程来了

2024年3月&#xff0c;备受瞩目的矢量制图及设计软件——CorelDRAW Graphics Suite 2024 正式面向全球发布。这一重大更新不仅是 CorelDRAW 在 36 年创意服务历史中的又一重要里程碑&#xff0c;同时也展现了其在设计软件领域不断创新和卓越性能的领导地位。 链接: https://pan…...

双网口扩展IO支持8DO输出

M320E以太网远程I/O数据采集模块是一款工业级、隔离设计、高可靠性、高稳定性和高精度数据采集模块&#xff0c;嵌入式32位高性能微处理器MCU&#xff0c;集成2路工业10/100M自适应以太网模块里面。提供多种I/O&#xff0c;支持标准Modbus TCP&#xff0c;可集成到SCADA、OPC服…...

【负载均衡在线OJ项目日记】编译与日志功能开发

目录 日志功能开发 常见的日志等级 日志功能代码 编译功能开发 创建子进程和程序替换 重定向 编译功能代码 日志功能开发 日志在软件开发和运维中起着至关重要的作用&#xff0c;目前我们不谈运维只谈软件开发&#xff1b;日志最大的作用就是用于故障排查和调试&#x…...

yaml配置文件的在深度学习中的简单应用

1 .创作灵感 小伙伴们再阅读深度学习模型的代码的时候&#xff0c;经常会遇到yaml格式的配置文件。用这个配置文件是因为我们在训练模型的时候会涉及很多的参数&#xff0c;如果这些参数东一个&#xff0c;西一个&#xff0c;我们调起来的时候就会很不方便&#xff0c;所以用y…...

spring boot 核心配置文件是什么?

Spring Boot 的核心配置文件主要是 application.properties 或 application.yml&#xff08;也称为 YAML 格式&#xff09;。这两个文件通常位于项目的 src/main/resources 目录下&#xff0c;用于配置 Spring Boot 应用程序的各种属性和设置。 application.properties&#xf…...

Python的奇妙之旅——回顾其历史

我们这个神奇的宇宙里&#xff0c;有一个名叫Python的小家伙&#xff0c;它不仅聪明&#xff0c;而且充满活力。它一路走来&#xff0c;从一个小小的编程语言成长为如今全球最受欢迎的编程语言之一。今天&#xff0c;我们就来回顾一下Python的历史&#xff0c;看看它如何从一个…...

Flink面试整理-Flink的性能优化策略

Apache Flink 的性能优化是一个多方面的任务,涉及硬件资源、算法选择、配置调整等多个层面。以下是一些常见的 Flink 性能优化策略: 1. 资源分配和管理 合理配置 TaskManager 和 JobManager:根据作业的需求和可用资源,合理分配内存和 CPU 给 TaskManager 和 JobManager。适…...

SpringBoot与SpringMVC的区别

SpringBoot与SpringMVC的区别是什么&#xff1f; SpringBoot和SpringMVC是Java开发中常用的两个框架&#xff0c;它们都是由Spring框架所提供的&#xff0c;但在功能和使用方式上有着一些区别。本文将分别介绍SpringBoot和SpringMVC的特点和区别。 一、SpringBoot的特点&#…...

漏洞挖掘之某厂商OAuth2.0认证缺陷

0x00 前言 文章中的项目地址统一修改为: a.test.com 保护厂商也保护自己 0x01 OAuth2.0 经常出现的地方 1&#xff1a;网站登录处 2&#xff1a;社交帐号绑定处 0x02 某厂商绑定微博请求包 0x02.1 请求包1&#xff1a; Request: GET https://www.a.test.com/users/auth/weibo?…...

电脑屏幕监控软件都有哪些 | 五大好用屏幕监控软件盘点

电脑屏幕监控软件在企业管理、家庭教育等方面发挥着越来越重要的作用。 这些软件通过实时监控电脑屏幕活动&#xff0c;为用户提供了强大的管理和监控功能。 本文将为您盘点五大好用的电脑屏幕监控软件&#xff0c;帮助您更好地了解并选择适合自己的软件。 电脑屏幕监控软件都…...

在国产UOS系统上搞定Horizon Client for Linux(ARM版)的保姆级安装与排错

在国产UOS系统上搞定Horizon Client for Linux&#xff08;ARM版&#xff09;的保姆级安装与排错 当国产操作系统遇上企业级虚拟桌面&#xff0c;技术适配的挑战往往超出预期。最近在华为鲲鹏920芯片的终端上部署Horizon Client时&#xff0c;那些在x86环境下一帆风顺的安装步骤…...

量子纠缠认证协议原理与工程实践

1. 量子纠缠认证协议的核心原理量子纠缠作为量子力学最反直觉的现象之一&#xff0c;在信息安全领域展现出独特优势。当两个量子比特形成贝尔态时&#xff0c;无论相隔多远&#xff0c;对其中一个粒子的测量会瞬间决定另一个粒子的状态。这种非局域关联特性&#xff0c;成为构建…...

2026年AI工程化的5大发展趋势:从模型到产品的必经之路

2026年AI工程化的5大发展趋势&#xff1a;从模型到产品的必经之路 导读&#xff1a; AI模型越来越强大&#xff0c;但如何将其稳定、高效地部署到生产环境&#xff1f;本文结合我过去3年的MLOps实战经验&#xff0c;深度剖析2026年AI工程化的核心趋势&#xff0c;助你从“会调参…...

NotebookLM辅助文献综述全链路拆解(2024最新版:支持arXiv/DOI/中文知网多源解析)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM文献综述辅助的范式变革 NotebookLM 是 Google 推出的基于用户自有文档的 AI 助手&#xff0c;其核心能力在于对上传 PDF、TXT 等学术文献进行语义索引与上下文感知问答&#xff0c;彻底重构…...

DLSS版本切换器:终极游戏性能优化指南

DLSS版本切换器&#xff1a;终极游戏性能优化指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否曾经遇到过这种情况&#xff1a;和朋友玩同一款游戏&#xff0c;你的帧率却总是比别人低&#xff1f;或者游戏画…...

LabVIEW生产者消费者模式进阶:从单队列到多队列的架构设计与实战

1. 生产者/消费者循环的进阶架构&#xff1a;从“一对一”到“一对多”在上一季的分享中&#xff0c;我们详细拆解了生产者/消费者循环的基础模型&#xff0c;即一个生产者任务对应一个消费者任务。这种结构清晰、易于理解&#xff0c;是处理异步任务、解耦数据生成与处理的经典…...

基于Ollama与Streamlit的本地大模型智能对话应用snowChat部署指南

1. 项目概述&#xff1a;一个基于本地大模型的智能对话应用最近在折腾本地部署的大语言模型&#xff0c;发现了一个挺有意思的项目&#xff0c;叫snowChat。这名字听起来就挺“冷”的&#xff0c;但功能却很“热”——它本质上是一个让你能在自己电脑上&#xff0c;用本地的大模…...

免费开源AMD Ryzen处理器调试工具:5分钟掌握SMUDebugTool终极指南

免费开源AMD Ryzen处理器调试工具&#xff1a;5分钟掌握SMUDebugTool终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址:…...

Day 2|项目目录与多布局、路由与权限守卫:从结构到落地代码

1. 目标与产出 明确中后台项目目录分层与职责边界。落地多布局&#xff08;主布局/业务布局&#xff09;&#xff0c;沉淀可复用容器组件。设计路由与权限模型&#xff08;角色/权限点&#xff09;&#xff0c;实现路由守卫与菜单联动。产出可复用的 Pinia 权限状态、权限指令、…...

ChartGPT终极指南:如何用AI快速生成专业图表

ChartGPT终极指南&#xff1a;如何用AI快速生成专业图表 【免费下载链接】chart-gpt AI tool to build charts based on text input 项目地址: https://gitcode.com/gh_mirrors/ch/chart-gpt 如果你还在为制作数据图表而烦恼&#xff0c;那么ChartGPT正是你需要的AI图表…...