蓝桥杯例题五
无论你面对多大的困难和挑战,都要保持坚定的信念和积极的态度。相信自己的能力和潜力,努力不懈地追求自己的目标和梦想。不要害怕失败,因为失败是成功的垫脚石。相信自己的选择和决策,不要被他人的意见和批评左右。坚持不懈地努力,即使前进的道路艰难,也要勇敢迈出每一步。相信自己的能力,相信自己的梦想,你一定能够创造出属于自己的辉煌。无论遇到什么困难和挫折,都要坚持下去,因为只有坚持才能看到胜利的曙光。相信自己,你是无坚不摧的战士,你是无所不能的人。无论多么艰难,也不要放弃,因为成功就在不远的前方。相信自己的力量,做好准备,迎接挑战。只有不断努力,才能收获更多的幸福与成功。
蓝桥杯官网蓝桥杯大赛 — 全国大学生TMT行业赛事
刷题力扣 (LeetCode) 全球极客挚爱的技术成长平台
目录
题目9:最长递增子序列
背景描述:
输入格式:
输出格式:
样例输入:
样例输出:
解答过程:
Python代码实现及详细注释:
题目10:括号生成
背景描述:
输入格式:
输出格式:
样例输入:
样例输出:
解答过程:
Python代码实现及详细注释:
总结
题目9:最长递增子序列
背景描述:
给定一个未排序的整数数组,找到最长递增子序列(LIS)的长度。最长递增子序列是指在原数组中严格递增的一个子序列,不要求连续。
输入格式:
第一行包含一个整数n (1 <= n <= 10^5),表示数组的长度。 第二行包含n个整数,表示数组元素。
输出格式:
输出一个整数,表示最长递增子序列的长度。
样例输入:
6 10 9 2 5 3 7
样例输出:
4
解答过程:
动态规划结合二分查找 是解决此类问题的有效方法。我们可以使用一个辅助数组 dp 来记录当前已知的最长递增子序列,并通过二分查找来优化更新操作。
步骤:
- 初始化:
- 创建一个空列表
dp,用于存储当前最长递增子序列中的最小尾部值。
- 创建一个空列表
- 遍历数组:
- 对于每个元素
num,如果num大于dp的最后一个元素,则将其添加到dp中;否则,使用二分查找找到dp中第一个大于等于num的位置并替换它。
- 对于每个元素
- 结果:
- 最终
dp的长度即为最长递增子序列的长度。
- 最终
Python代码实现及详细注释:
import bisectdef length_of_lis(nums):dp = []for num in nums:# 使用二分查找找到dp中第一个大于等于num的位置pos = bisect.bisect_left(dp, num)if pos == len(dp):dp.append(num) # 如果num大于dp的所有元素,则追加else:dp[pos] = num # 否则替换掉第一个大于等于num的元素return len(dp)# 示例输入 nums = [10, 9, 2, 5, 3, 7]# 调用函数并打印结果 print(length_of_lis(nums)) # 输出: 4
题目10:括号生成
背景描述:
给出n对括号,编写一个函数来生成所有可能的并且有效的括号组合。
输入格式:
输入一个整数n (1 <= n <= 8),表示生成括号对的数量。
输出格式:
输出所有可能的有效括号组合,每种组合一行。
样例输入:
3
样例输出:
((())) (()()) (())() ()(()) ()()()
解答过程:
回溯算法 是解决此类问题的有效方法。我们可以通过递归构建所有可能的括号组合,并在构建过程中进行有效性检查。
步骤:
- 初始化:
- 设置初始状态为空字符串
current和计数器open_count和close_count分别记录当前使用的左括号和右括号数量。
- 设置初始状态为空字符串
- 递归生成括号:
- 如果当前使用的左括号数量小于n,则可以添加一个左括号。
- 如果当前使用的右括号数量小于左括号数量,则可以添加一个右括号。
- 当左右括号数量均达到n时,说明生成了一个有效组合。
- 结果:
- 将所有有效组合存储在一个列表中并返回。
Python代码实现及详细注释:
def generate_parenthesis(n):def backtrack(current, open_count, close_count):if len(current) == 2 * n:result.append(current)returnif open_count < n:backtrack(current + '(', open_count + 1, close_count)if close_count < open_count:backtrack(current + ')', open_count, close_count + 1)result = []backtrack("", 0, 0)return result# 示例输入 n = 3# 调用函数并打印结果 for combination in generate_parenthesis(n):print(combination)
总结
这两个题目分别涉及了不同的算法思想和技巧:
- 最长递增子序列 使用了动态规划结合二分查找的方法,适用于处理需要寻找最优子结构的问题。
- 括号生成 使用了回溯算法,这是一种常见的用于生成所有可能解的方法,特别适合用于排列组合问题。
相关文章:
蓝桥杯例题五
无论你面对多大的困难和挑战,都要保持坚定的信念和积极的态度。相信自己的能力和潜力,努力不懈地追求自己的目标和梦想。不要害怕失败,因为失败是成功的垫脚石。相信自己的选择和决策,不要被他人的意见和批评左右。坚持不懈地努力…...
DeepSeek R1本地部署详细指南
DeepSeek R1 是由中国 AI 初创公司深度求索开发的先进推理模型,其性能在数学、编码和逻辑推理等任务上表现出色。在本地部署该模型可以带来更低的延迟、更高的隐私性以及对 AI 应用的更大控制权。本文将详细介绍如何在本地环境中部署 DeepSeek R1 模型。 前提条件 …...
MySQL(高级特性篇) 14 章——MySQL事务日志
事务有4种特性:原子性、一致性、隔离性和持久性 事务的隔离性由锁机制实现事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证(1)REDO LOG称为重做日志,用来保证事务的持久性(2)UNDO LOG称为回…...
爬虫基础(五)爬虫基本原理
目录 一、爬虫是什么 二、爬虫过程 (1)获取网页 (2)提取信息 (3)保存数据 三、爬虫可爬的数据 四、爬虫问题 一、爬虫是什么 互联网,后面有个网字,我们可以把它看成一张蜘蛛网…...
【Block总结】HWD,小波下采样,适用分类、分割、目标检测等任务|即插即用
论文信息 Haar wavelet downsampling (HWD) 是一项针对语义分割的创新模块,旨在通过减少特征图的空间分辨率来提高深度卷积神经网络(DCNNs)的性能。该论文的主要贡献在于提出了一种新的下采样方法,能够在下采样阶段有效地减少信息…...
【解决方案】MuMu模拟器移植系统进度条卡住98%无法打开
之前在Vmware虚拟机里配置了mumu模拟器,现在想要移植到宿主机中 1、虚拟机中的MuMu模拟器12-1是目标系统,对应的目录如下 C:\Program Files\Netease\MuMu Player 12\vms\MuMuPlayer-12.0-1 2、Vmware-虚拟机-设置-选项,启用共享文件夹 3、复…...
力扣面试150 快乐数 循环链表找环 链表抽象 哈希
Problem: 202. 快乐数 👩🏫 参考题解 Code public class Solution {public int squareSum(int n) {int sum 0;while(n > 0){int digit n % 10;sum digit * digit;n / 10;}return sum;}public boolean isHappy(int n) {int slow n, fast squa…...
安卓(android)实现注册界面【Android移动开发基础案例教程(第2版)黑马程序员】
一、实验目的(如果代码有错漏,可查看源码) 1.掌握LinearLayout、RelativeLayout、FrameLayout等布局的综合使用。 2.掌握ImageView、TextView、EditText、CheckBox、Button、RadioGroup、RadioButton、ListView、RecyclerView等控件在项目中的…...
SpringSecurity:There is no PasswordEncoder mapped for the id “null“
文章目录 一、情景说明二、分析三、解决 一、情景说明 在整合SpringSecurity功能的时候 我先是去实现认证功能 也就是,去数据库比对用户名和密码 相关的类: UserDetailsServiceImpl implements UserDetailsService 用于SpringSecurity查询数据库 Logi…...
微服务入门(go)
微服务入门(go) 和单体服务对比:里面的服务仅仅用于某个特定的业务 一、领域驱动设计(DDD) 基本概念 领域和子域 领域:有范围的界限(边界) 子域:划分的小范围 核心域…...
996引擎 - NPC-动态创建NPC
996引擎 - NPC-动态创建NPC 创建脚本服务端脚本客户端脚本添加自定义音效添加音效文件修改配置参考资料有个小问题,创建NPC时没有控制朝向的参数。所以。。。自己考虑怎么找补吧。 多重影分身 创建脚本 服务端脚本 Mir200\Envir\Market_Def\test\test001-3.lua -- NPC八门名…...
使用 MySQL JSON 查询筛选嵌套字段的值
在日常开发中,随着项目需求的不断复杂化,许多表字段可能会存储 JSON 格式的数据。例如,我们有一张 site_device 表,其中有一个名为 detail 的字段,保存了设备的详细信息。这些信息存储为 JSON 数据,如下所示…...
go-zero学习笔记(一)
基础环境搭建 安装go环境 网上文章比较多,不在赘述,我当时参考的文章是:https://blog.csdn.net/weixin_41287260/article/details/143661816 记得修改go env 中的环境变量, 主要是goproxy 改成七牛云的,这样下载代码库…...
maven、npm、pip、yum官方镜像修改文档
文章目录 Maven阿里云网易华为腾讯云 Npm淘宝腾讯云 pip清华源阿里中科大华科 Yum 由于各博客繁杂,本文旨在记录各常见镜像官网,及其配置文档。常用镜像及配置可评论后加入 Maven 阿里云 官方文档 setting.xml <mirror><id>aliyunmaven&l…...
【Docker】私有Docker仓库的搭建
一、准备工作 确保您的系统已安装Docker。如果没有安装,请参考Docker官方文档进行安装。 准备一个用于存储仓库数据的目录,例如/registry_data/。 二、拉取官方registry镜像 首先,我们需要从Docker Hub拉取官方的registry镜像。执行以下命…...
基于MinIO的对象存储增删改查
MinIO是一个高性能的分布式对象存储服务。Python的minio库可操作MinIO,包括创建/列出存储桶、上传/下载/删除文件及列出文件。 查看帮助信息 minio.exe --help minio.exe server --help …...
观察者模式和订阅发布模式的关系
有人把观察者模式等同于发布订阅模式,也有人认为这两种模式存在差异,本质上就是调度的方法不同。 发布订阅模式: 观察者模式: 相比较,发布订阅将发布者和观察者之间解耦。(发布订阅有调度中心处理)...
(2025 年最新)MacOS Redis Desktop Manager中文版下载,附详细图文
MacOS Redis Desktop Manager中文版下载 大家好,今天给大家带来一款非常实用的 Redis 可视化工具——Redis Desktop Manager(简称 RDM)。相信很多开发者都用过 Redis 数据库,但如果你想要更高效、更方便地管理 Redis 数据&#x…...
Baklib引领内容管理平台新时代优化创作流程与团队协作
内容概要 在迅速变化的数字化时代,内容管理平台已成为各种行业中不可或缺的工具。通过系统化的管理,用户能够有效地组织、存储和共享信息,从而提升工作效率和创意表达。Baklib作为一款新兴的内容管理平台,以其独特的优势和创新功…...
Java实现.env文件读取敏感数据
文章目录 1.common-env-starter模块1.目录结构2.DotenvEnvironmentPostProcessor.java 在${xxx}解析之前执行,提前读取配置3.EnvProperties.java 这里的path只是为了代码提示4.EnvAutoConfiguration.java Env模块自动配置类5.spring.factories 自动配置和注册Enviro…...
房屋租赁系统在数字化时代中如何重塑租赁服务与提升市场竞争力
内容概要 在当今快速发展的数字化时代,房屋租赁系统的作用愈发重要。随着市场需求的变化,租赁服务正面临着新的挑战与机遇。房屋租赁系统不仅仅是一个简单的管理工具,更是一个能够提升用户体验和市场竞争力的重要平台。其核心功能包括合同管…...
C++ ——— 学习并使用 priority_queue 类
目录 何为 priority_queue 类 学习并使用 priority_queue 类 实例化一个 priority_queue 类对象 插入数据 遍历堆(默认是大堆) 通过改变实例化的模板参数修改为小堆 何为 priority_queue 类 priority_queue 类为 优先级队列,其本质就是…...
【踩坑】解决Hugging-face下载问题
解决Hugging-face下载问题 问题1:couldnt connect to https://huggingface.co问题2:HTTPSConnectionPool(hostcdn-lfs-us-1.hf-mirror.com, port443)设置hf_transfer加快速度 问题3:requests.exceptions.ChunkedEncodingError: (Connection b…...
DeepSeek 模型全览:探索不同类别的模型
DeepSeek 是近年来备受关注的 AI 研究团队,推出了一系列先进的深度学习模型,涵盖了大语言模型(LLM)、代码生成模型、多模态模型等多个领域。本文将大概介绍 DeepSeek 旗下的不同类别的模型,帮助你更好地理解它们的特点…...
智能家居监控系统数据收集积压优化
亮点:RocketMQ 消息大量积压问题的解决 假设我们正在开发一个智能家居监控系统。该系统从数百万个智能设备(如温度传感器、安全摄像头、烟雾探测器等)收集数据,并通过 RocketMQ 将这些数据传输到后端进行处理和分析。 在某些情况下…...
Three.js实现3D动态心形与粒子背景的数学与代码映射解析
一、效果概述 本文通过Three.js构建了一个具有科技感的3D场景,主要包含两大视觉元素: 动态心形模型:采用数学函数生成基础形状,通过顶点操作实现表面弧度。星空粒子背景:随机分布的粒子群组形成空间层次感。复合动画…...
linux asio网络编程理论及实现
最近在B站看了恋恋风辰大佬的asio网络编程,质量非常高。在本章中将对ASIO异步网络编程的整体及一些实现细节进行完整的梳理,用于复习与分享。大佬的博客:恋恋风辰官方博客 Preactor/Reactor模式 在网络编程中,通常根据事件处理的触…...
多目标优化策略之一:非支配排序
多目标优化策略中的非支配排序是一种关键的技术,它主要用于解决多目标优化问题中解的选择和排序问题,确定解集中的非支配解(也称为Pareto解)。 关于什么是多目标优化问题,可以查看我的文章:改进候鸟优化算法之五:基于多目标优化的候鸟优化算法(MBO-MO)-CSDN博客 多目…...
电子电气架构 --- 在智能座舱基础上定义人机交互
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…...
Autosar-Os是怎么运行的?(时间保护)
写在前面: 入行一段时间了,基于个人理解整理一些东西,如有错误,欢迎各位大佬评论区指正!!! 1.功能概述 AUTOSAR OS 的四大可定制类型凸显了时间保护(Timing Protection)…...
