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

蓝桥杯例题六

奋斗是一种态度,也是一种生活方式。无论我们面对什么样的困难和挑战,只要心怀梦想,坚持不懈地努力,就一定能够迈向成功的道路。每一次失败都是一次宝贵的经验,每一次挫折都是一次锻炼的机会。在困难面前,我们不能轻易放弃,而应该勇敢地面对,坚持不懈地追求自己的目标。只要我们有梦想,就有追求的动力;只要我们有坚持,就有成功的可能。让我们激发内在的力量,勇敢地面对挑战,努力奋斗,成就自己的人生。不管前方的路有多坎坷,我们都要坚持向前,不断超越自己,用汗水和努力书写属于自己的辉煌篇章。相信自己,励志奋斗,成功势在必得!

蓝桥杯官网蓝桥杯大赛 — 全国大学生TMT行业赛事

刷题力扣 (LeetCode) 全球极客挚爱的技术成长平台

目录

题目11:整数拆分

背景描述:

输入格式:

输出格式:

样例输入:

样例输出:

解答过程:

Python代码实现及详细注释:

题目12:买卖股票的最佳时机 II

背景描述:

输入格式:

输出格式:

样例输入:

样例输出:

解答过程:

Python代码实现及详细注释:

总结


题目11:整数拆分

背景描述:

给定一个正整数 n,将其拆分为至少两个正整数之和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。

输入格式:

输入一个整数 n (2 <= n <= 58)。

输出格式:

输出一个整数,表示可以获得的最大乘积。

样例输入:
10
样例输出:
36
解答过程:

动态规划 是解决此类问题的有效方法。我们使用一个数组 dp 来存储每个整数 i 的最大乘积值,并通过状态转移方程更新 dp[i]

步骤:

  1. 初始化:
    • 创建一个大小为 n+1 的数组 dp,其中 dp[i] 表示整数 i 拆分后的最大乘积。
    • 初始化 dp[2] = 1,因为 2 只能拆分成 1 + 1,乘积为 1
  2. 状态转移:
    • 对于每一个整数 i,尝试将其拆分成 j 和 i-j,并更新 dp[i] 为 max(dp[i], max(j, dp[j]) * max(i-j, dp[i-j]))
  3. 结果:
    • 最终 dp[n] 即为所求的最大乘积。
Python代码实现及详细注释:
def integer_break(n):if n == 2:return 1# 初始化dp数组dp = [0] * (n + 1)dp[2] = 1for i in range(3, n + 1):for j in range(1, i // 2 + 1):# 更新dp[i]为当前最大乘积dp[i] = max(dp[i], max(j, dp[j]) * max(i - j, dp[i - j]))return dp[n]# 示例输入
n = 10# 调用函数并打印结果
print(integer_break(n))  # 输出: 36

题目12:买卖股票的最佳时机 II

背景描述:

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(即多次买入和卖出一支股票)。但是,你不能同时参与多个交易(必须在再次购买前出售掉之前的股票)。

输入格式:

第一行包含一个整数 n (1 <= n <= 10^5),表示价格数组的长度。 第二行包含 n 个整数,表示每一天的价格。

输出格式:

输出一个整数,表示可以获得的最大利润。

样例输入:
6
7 1 5 3 6 4
样例输出:
7
解答过程:

贪心算法 是解决此类问题的有效方法。我们只需要在价格上涨时进行买卖操作,即可获得最大利润。

步骤:

  1. 初始化:
    • 设置变量 max_profit 为0,用于记录总利润。
  2. 遍历价格数组:
    • 对于每一天的价格,如果当天的价格高于前一天的价格,则将差值累加到 max_profit 中。
  3. 结果:
    • 最终 max_profit 即为所求的最大利润。
Python代码实现及详细注释:
def max_profit(prices):max_profit = 0for i in range(1, len(prices)):# 如果当天的价格高于前一天的价格,则进行买卖操作if prices[i] > prices[i - 1]:max_profit += prices[i] - prices[i - 1]return max_profit# 示例输入
prices = [7, 1, 5, 3, 6, 4]# 调用函数并打印结果
print(max_profit(prices))  # 输出: 7

总结

这两个题目分别涉及了不同的算法思想和技巧:

  • 整数拆分 使用了动态规划的方法,适用于处理需要寻找最优子结构的问题。
  • 买卖股票的最佳时机 II 使用了贪心算法,这是一种常见的用于优化问题的方法,特别适合用于寻找局部最优解以达到全局最优解的情况。

相关文章:

蓝桥杯例题六

奋斗是一种态度&#xff0c;也是一种生活方式。无论我们面对什么样的困难和挑战&#xff0c;只要心怀梦想&#xff0c;坚持不懈地努力&#xff0c;就一定能够迈向成功的道路。每一次失败都是一次宝贵的经验&#xff0c;每一次挫折都是一次锻炼的机会。在困难面前&#xff0c;我…...

MVS pythonSamples 运行环境配置

1.首先计算机&#xff1a;操作系统Win10_X64 22H2&#xff1b; 2.MVS V4.4.0 3.python3.8.8_64; 安装时勾选添加path&#xff1b; 最后安装依赖包&#xff1a;&#xff08;所有必须安装&#xff09; 图像处理&#xff1a; mvtec-halcon23050&#xff08;可选&#xff09; p…...

深度学习查漏补缺:2. 三个指标和注意力机制

一、bachsize, num_epochs, dataset 在训练卷积神经网络&#xff08;CNN&#xff09;或任何其他深度学习模型时&#xff0c;有几个关键参数和概念需要了解&#xff1a;batch size、num epochs 和 dataset。下面是对它们的详细解释&#xff1a; Batch Size&#xff08;批量大小&…...

CodeGPT使用本地部署DeepSeek Coder

目前NV和github都托管了DeepSeek&#xff0c;生成Key后可以很方便的用CodeGPT接入。CodeGPT有三种方式使用AI&#xff0c;分别时Agents&#xff0c;Local LLMs&#xff08;本地部署AI大模型&#xff09;&#xff0c;LLMs Cloud Model&#xff08;云端大模型&#xff0c;从你自己…...

Python3 + Qt5:实现AJAX异步更新UI

使用 Python 和 Qt5 开发时异步加载数据的方法 在开发使用 Python 和 Qt5 的应用程序时&#xff0c;为了避免在加载数据时界面卡顿&#xff0c;可以采用异步加载的方式。以下是几种实现异步加载的方法&#xff1a; 1. 使用多线程&#xff08;QThread&#xff09; 通过将数据…...

JAVA安全—反射机制攻击链类对象成员变量方法构造方法

前言 还是JAVA安全&#xff0c;哎&#xff0c;真的讲不完&#xff0c;太多啦。 今天主要是讲一下JAVA中的反射机制&#xff0c;因为反序列化的利用基本都是要用到这个反射机制&#xff0c;还有一些攻击链条的构造&#xff0c;也会用到&#xff0c;所以就讲一下。 什么是反射…...

【深度学习】softmax回归的简洁实现

softmax回归的简洁实现 我们发现(通过深度学习框架的高级API能够使实现)(softmax)线性(回归变得更加容易)。 同样&#xff0c;通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节继续使用Fashion-MNIST数据集&#xff0c;并保持批量大小为256。 import torch …...

基础篇03-图像的基本运算

本节将简要介绍Halcon中有关图像的两类基本运算&#xff0c;分别是代数运算和逻辑运算。除此之外&#xff0c;还介绍几种特殊的代数运算。 目录 1.引言 2. 基本运算 2.1 加法运算 2.2 减法运算 2.3 乘法运算 2.4 除法运算 2.5 综合实例 3. 逻辑运算 3.1 逻辑与运算 …...

工具的应用——安装copilot

一、介绍Copilot copilot是一个AI辅助编程的助手&#xff0c;作为需要拥抱AI的程序员可以从此尝试进入&#xff0c;至于好与不好&#xff0c;应当是小马过河&#xff0c;各有各的心得。这里不做评述。重点在安装copilot的过程中遇到了一些问题&#xff0c;然后把它总结下&…...

面试问题知识

文章目录 1. Linux 和 CentOS基础指令&#xff1a;VMware 和 CentOS&#xff1a;扩充问题&#xff1a; 2. 前端开发&#xff08;JS、CSS&#xff09;JavaScript&#xff1a;CSS&#xff1a;扩充问题&#xff1a; 3. 数据库&#xff08;MySQL&#xff09;基础语法&#xff1a;事…...

Alibaba开发规范_编程规约之命名风格

文章目录 命名风格的基本原则1. 命名不能以下划线或美元符号开始或结束2. 严禁使用拼音与英文混合或直接使用中文3. 类名使用 UpperCamelCase 风格&#xff0c;但以下情形例外&#xff1a;DO / BO / DTO / VO / AO / PO / UID 等4. 方法名、参数名、成员变量、局部变量使用 low…...

MATLAB中的IIR滤波器设计

在数字信号处理中&#xff0c;滤波器是消除噪声、提取特征或调整信号频率的核心工具。其中&#xff0c;无限脉冲响应&#xff08;IIR&#xff09;滤波器因其低阶数实现陡峭滚降的特性&#xff0c;被广泛应用于音频处理、通信系统和生物医学工程等领域。借助MATLAB强大的工具箱&…...

vector容器(详解)

本文最后是模拟实现全部讲解&#xff0c;文章穿插有彩色字体&#xff0c;是我总结的技巧和关键 1.vector的介绍及使用 1.1 vector的介绍 https://cplusplus.com/reference/vector/vector/&#xff08;vector的介绍&#xff09; 了解 1. vector是表示可变大小数组的序列容器。…...

nginx目录结构和配置文件

nginx目录结构 [rootlocalhost ~]# tree /usr/local/nginx /usr/local/nginx ├── client_body_temp # POST 大文件暂存目录 ├── conf # Nginx所有配置文件的目录 │ ├── fastcgi.conf # fastcgi相关参…...

deepseek本地部署会遇到哪些坑

在本地部署DeepSeek(或其他类似AI模型)时,可能会遇到以下常见问题及解决方案: 1. 硬件资源不足 问题表现: GPU不兼容(如型号过旧)、显存不足(OOM错误)或CPU模式性能极低。解决方案: 确认GPU支持CUDA,检查显存需求(如至少16GB显存)。使用nvidia-smi监控显存,通过降…...

使用 PyTorch 实现逻辑回归并评估模型性能

1. 逻辑回归简介 逻辑回归是一种用于解决二分类问题的算法。它通过一个逻辑函数&#xff08;Sigmoid 函数&#xff09;将线性回归的输出映射到 [0, 1] 区间内&#xff0c;从而将问题转化为概率预测问题。如果预测概率大于 0.5&#xff0c;则将样本分类为正类&#xff1b;否则分…...

python学opencv|读取图像(五十二)使用cv.matchTemplate()函数实现最佳图像匹配

【1】引言 前序学习了图像的常规读取和基本按位操作技巧&#xff0c;相关文章包括且不限于&#xff1a; python学opencv|读取图像-CSDN博客 python学opencv|读取图像&#xff08;四十九&#xff09;原理探究&#xff1a;使用cv2.bitwise()系列函数实现图像按位运算-CSDN博客…...

【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能

近期在做跟毕业设计相关的数据后台管理系统&#xff0c;其中的列表项展示有图片展示&#xff0c;添加/编辑功能有文件上传。 “文件上传/删除”也是我们平时开发会遇到的一个功能&#xff0c;这里分享个人的实现过程&#xff0c;与大家交流谈论~ 一、准备工作 本次案例使用的…...

使用真实 Elasticsearch 进行高级集成测试

作者&#xff1a;来自 Elastic Piotr Przybyl 掌握高级 Elasticsearch 集成测试&#xff1a;更快、更智能、更优化。 在上一篇关于集成测试的文章中&#xff0c;我们介绍了如何通过改变数据初始化策略来缩短依赖于真实 Elasticsearch 的集成测试的执行时间。在本期中&#xff0…...

【R语言】函数

一、函数格式 如下所示&#xff1a; hello&#xff1a;函数名&#xff1b;function&#xff1a;定义的R对象是函数而不是其它变量&#xff1b;()&#xff1a;函数的输入参数&#xff0c;可以为空&#xff0c;也可以包含参数&#xff1b;{}&#xff1a;函数体&#xff0c;如果…...

Vue 3 30天精进之旅:Day 12 - 异步操作

在现代前端开发中&#xff0c;异步操作是一个非常常见的需求&#xff0c;例如从后端API获取数据、进行文件上传等任务。Vue 3 结合组合式API和Vuex可以方便地处理这些异步操作。今天我们将重点学习如何在Vue应用中进行异步操作&#xff0c;包括以下几个主题&#xff1a; 异步操…...

VSCode插件Live Server

简介&#xff1a;插件Live Server能够实现当我们在VSCode编辑器里修改 HTML、CSS 或者 JavaScript 文件时&#xff0c;它都能自动实时地刷新浏览器页面&#xff0c;让我们实时看到代码变化的效果。再也不用手动刷新浏览器了&#xff0c;节省了大量的开发过程耗时&#xff01; 1…...

50. 正点原子官方系统镜像烧写实验

一、Windows下使用OTG烧写系统 1、在Windos使用NXP提供的mfgtool来向开发烧写系统。需要用先将开发板的USB_OTG接口连接到电脑上。 Mfgtool工具是向板子先下载一个Linux系统&#xff0c;然后通过这个系统来完成烧写工作。 切记&#xff01;使用OTG烧写的时候要先把SD卡拔出来&…...

在C#中,什么是多态如何实现

在C#中,什么是多态?如何实现? C#中的多态性 多态性是面向对象编程的一个核心概念,他允许对象以多种形式表现.在C#中,多态主要通过虚方法,抽象方法和接口来实现. 多态性的存在使得同一个行为可以有多个不同的表达形式 即同一个接口可以使用不同的实例来执行不同的操作 虚方…...

搜索引擎友好:设计快速收录的网站架构

本文来自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/14.html 为了设计一个搜索引擎友好的网站架构&#xff0c;以实现快速收录&#xff0c;可以从以下几个方面入手&#xff1a; 一、清晰的目录结构与层级 合理划分内容&#xff1a;目录结构应…...

扩散模型(三)

相关阅读&#xff1a; 扩散模型&#xff08;一&#xff09; 扩散模型&#xff08;二&#xff09; Latent Variable Space 潜在扩散模型&#xff08;LDM&#xff1b;龙巴赫、布拉特曼等人&#xff0c;2022 年&#xff09;在潜在空间而非像素空间中运行扩散过程&#xff0c;这…...

it基础使用--5---git远程仓库

it基础使用–5—git远程仓库 1. 按顺序看 -git基础使用–1–版本控制的基本概念 -git基础使用–2–gti的基本概念 -git基础使用–3—安装和基本使用 -git基础使用–4—git分支和使用 2. 什么是远程仓库 在第一篇文章中&#xff0c;我们已经讲过了远程仓库&#xff0c;每个本…...

Baklib如何改变内容管理平台的未来推动创新与效率提升

内容概要 在信息爆炸的时代&#xff0c;内容管理平台成为了企业和个人不可或缺的工具。它通过高效组织、存储和发布内容&#xff0c;帮助用户有效地管理信息流。随着技术的发展&#xff0c;传统的内容管理平台逐渐暴露出灵活性不足、易用性差等局限性&#xff0c;这促使市场需…...

100.1 AI量化面试题:解释夏普比率(Sharpe Ratio)的计算方法及其在投资组合管理中的应用,并说明其局限性

目录 0. 承前1. 夏普比率的基本概念1.1 定义与计算方法1.2 实际计算示例 2. 在投资组合管理中的应用2.1 投资组合选择2.2 投资组合优化 3. 夏普比率的局限性3.1 统计假设的限制3.2 实践中的问题 4. 改进方案4.1 替代指标4.2 实践建议 5. 回答话术 0. 承前 如果想更加全面清晰地…...

Ubuntu 下 nginx-1.24.0 源码分析 ngx_debug_init();

目录 ngx_debug_init() 函数&#xff1a; NGX_LINUX 的定义&#xff1a; ngx_debug_init() 函数&#xff1a; ngx_debug_init() 函数定义在 src\os\unix 目录下的 ngx_linux_config.h 中 #define ngx_debug_init() 也就是说这个环境下的 main 函数中的 ngx_debug_init() 这…...