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

蓝桥杯刷题——day3

蓝桥杯刷题——day3

  • 题目一
    • 题干
    • 题目解析
    • 代码
  • 题目二
    • 题干
    • 题目解析
    • 代码

题目一

题干

每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。你的任务是通过编程,找出断号的 ID 和重号的 ID。数据保证断号不可能发生在最大和最小号。
输入格式:
一个整数 N(N<100) 表示后面数据行数,接着读入N行数据,每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于10的5次方),每个整数代表一个 ID 号。
输出格式:
要求程序首先输入要求程序输出1 行,含两个整数m,n,用空格分隔,其中,m表示断号 ID,n表示重号 ID。
示例一:

输入:
2
5 6 8 11 9
10 12 9
输出:
7 9

示例二:

输入:
6
164 178 108 109 180 155 141 159 104 182 179 118 137 184 115 124 125 129 168 196
172 189 127 107 112 192 103 131 133 169 158
128 102 110 148 139 157 140 195 197
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
113 130 176 154 177 120 117 150 114 183 186 181 100 163 160 167 147 198 111 119
输出:
105 120

题目链接:错误票据

题目解析

这道题目挺有意思的,其实不难,输入部分我们就不过多介绍,我们可以创建一个Arraylist用作存储,没输入一个数字,就将数字存储到Arraylist中去,然后用排序,将Arraylist从小到大进行排序,从后往前遍历,当发现两个数字相等的时候则该数字就是重复的ID,当发现两个数字相差大于1的时候就发现该数字为丢失的数字。下面为完整代码:

代码

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 输入行数int line = scanner.nextInt();ArrayList<Integer> list = new ArrayList<>();// 读取所有 IDfor (int i = 0; i < line; i++) {while (scanner.hasNextInt()) {list.add(scanner.nextInt());}}// 排序 IDCollections.sort(list);// 找出断号和重号int missing = 0, duplicate = 0;for (int i = 1; i < list.size(); i++) {if (list.get(i).equals(list.get(i - 1))) {duplicate = list.get(i); // 找到重号} else if (list.get(i) > list.get(i - 1) + 1) {missing = list.get(i - 1) + 1; // 找到断号}}// 输出结果System.out.println(missing + " " + duplicate);}
}

题目二

题干

小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里的石头跳到对岸。河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就会下降1,当石头的高度下降到0时小青蛙不能再跳到这块石头上(某次跳跃后使石头高度下降到0 是允许的)。小青蛙一共需要去学校上x 天课,所以它需要往返2x 次。当小青蛙具有一个跳跃能力y 时,它能跳不超过y 的距离。请问小青蛙的跳跃能力至少是多少才能用这些石头上完 x 次课。
输入格式:
输入的第一行包含两个整数n,x, 分别表示河的宽度和小青蛙需要去学校的天数。请注意2x 才是实际过河的次数。第二行包含n−1 个非负整数 表示在河中与 小青蛙的家相距i的地方有一块高度为h的石头,h=0则表示没有石头。
输出格式:
输出一行, 包含一个整数, 表示小青蛙需要的最低跳跃能力。
示例一:

输入:
5 1
1 0 1 0
输出:
4

题目链接:青蛙过河

题目解析

这是一个典型的二分查找加模拟的问题。小青蛙需要在有限的石头高度和跳跃能力的限制下完成往返 2x 次。以下是解决问题的详细思路:

  1. 最小跳跃能力y 的范围是从 1 到n,我们可以用二分查找找到最小的y,使得小青蛙能够完成2x 次过河。
  2. 给定一个跳跃能力y,模拟小青蛙的跳跃过程,检查是否能完成2x 次过河。然后每次跳跃时,石头高度减 1,不能跳到高度为 0 的石头上。
  3. 判断是否满足条件的方法用模拟实现。如果当前 y 能够完成2x 次过河,则尝试更小的 y;否则增加 y。

下面是完整代码:

代码

import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 输入河宽度和需要去学校的天数int n = scanner.nextInt();int x = scanner.nextInt();// 输入石头高度int[] stones = new int[n];for (int i = 1; i < n; i++) {stones[i] = scanner.nextInt();}// 二分查找最低跳跃能力int left = 1, right = n, result = n;while (left <= right) {int mid = (left + right) / 2;if (canCross(stones.clone(), mid, 2 * x)) {result = mid; // 当前跳跃能力可行,尝试更小值right = mid - 1;} else {left = mid + 1; // 当前跳跃能力不足,增加跳跃能力}}// 输出结果System.out.println(result);}// 判断是否能完成指定次数的过河public static boolean canCross(int[] stones, int jump, int trips) {int n = stones.length;for (int t = 0; t < trips; t++) {int position = 0; // 从起点出发while (position < n - 1) {int next = position;// 找到能跳到的最远位置for (int j = position + 1; j < n && j <= position + jump; j++) {if (stones[j] > 0) {next = j;}}if (next == position) {// 无法前进,跳跃失败return false;}// 跳到 next,石头高度减 1stones[next]--;position = next;}}return true; // 成功完成所有 trips}
}

main函数其实很好理解就是一个二分查找的问题,我们看canCross函数,在这个函数模拟小青蛙从起点出发,经过石头跳到对岸的过程。外层循环 for (int t = 0; t < trips; t++)循环模拟小青蛙过河的过程。因为小青蛙需要往返2x 次,所以我们要模拟trips 次跳跃,while (position < n - 1)循环则检查小青蛙是否跳到了对岸,for (int j = position + 1; j < n && j <= position + jump; j++) 循环则是找小青蛙能跳到的最远距离,当我们发现next == position时,就表明小青蛙一动不动,也就是跳跃失败,否则石头的高度减去1,并且更新position。这段代码我并没有完全通过编译器,其出现的问题我也不太清楚,如果发现问题,欢迎私信和评论,感谢各位的点赞。

相关文章:

蓝桥杯刷题——day3

蓝桥杯刷题——day3 题目一题干题目解析代码 题目二题干题目解析代码 题目一 题干 每张票据有唯一的 ID 号&#xff0c;全年所有票据的 ID 号是连续的&#xff0c;但 ID 的开始数码是随机选定的。因为工作人员疏忽&#xff0c;在录入 ID 号的时候发生了一处错误&#xff0c;造…...

企业级日志分析系统ELK之ELK概述

ELK 概述 ELK 介绍 什么是 ELK 早期IT架构中的系统和应用的日志分散在不同的主机和文件&#xff0c;如果应用出现问题&#xff0c;开发和运维人员想排 查原因&#xff0c;就要先找到相应的主机上的日志文件再进行查找和分析&#xff0c;所以非常不方便&#xff0c;而且还涉及…...

【开源项目】经典开源项目数字孪生体育馆—开源工程及源码

飞渡科技数字孪生体育馆管理平台&#xff0c;融合物联网IOT、BIM数据模型、三维GIS等技术&#xff0c;实现体育馆的全方位监控和实时全局掌握&#xff0c;同时&#xff0c;通过集成设备设施管理、人员管理等子系统&#xff0c;减少信息孤岛&#xff0c;让场馆“可视、可控、可管…...

C++多线程实战:掌握图像处理高级技巧

文章结尾有最新热度的文章,感兴趣的可以去看看。 本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观事实描述事情本身 导读 在当今的计算世界中,…...

解决MAC装win系统投屏失败问题(AMD显卡)

一、问题描述 电脑接上HDMI线后&#xff0c;电脑上能显示有外部显示器接入&#xff0c;但是外接显示器无投屏画面 二、已测试的方法 1 更改电脑分辨&#xff0c;结果无效 2 删除BootCamp&#xff0c;结果无效 3更新电脑系统&#xff0c;结果无效 4 在设备管理器中&#…...

网易游戏分享游戏场景中MongoDB运行和分析实践

在游戏行业中&#xff0c;数据库的稳定和性能直接影响了游戏质量和用户满意度。在竞争激烈的游戏市场中&#xff0c;一个优秀的数据库产品无疑能为游戏的开发和后期的运营奠定良好的基础。伴随着MongoDB在不同类型游戏场景中的应用越来越广泛&#xff0c;许多知名的游戏公司都在…...

Android14 AOSP 允许system分区和vendor分区应用进行AIDL通信

在Android14上&#xff0c;出于种种原因&#xff0c;system分区的应用无法和vendor分区的应用直接通过AIDL的方法进行通信&#xff0c;但是项目的某个功能又需要如此。 好在Binder底层其实是支持的&#xff0c;只是在上层进行了屏蔽。 修改 frameworks/native/libs/binder/Bp…...

R学习——因子

目录 1 定义因子&#xff08;factor函数&#xff09; 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了&#xff0c;可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8&#xff1a; 1 定义因子&#xff08;factor函数&#xff09; 要…...

pytest入门三:setup、teardown

https://zhuanlan.zhihu.com/p/623447031 function对应类外的函数&#xff0c;每个函数调用一次 import pytest def setup_module():print(开始 module)def teardown_module():print(结束 module)def setup_function():print(开始 function)def teardown_function():print(结…...

前端面试准备问题2

1.防抖和节流分别是什么&#xff0c;应用场景 防抖&#xff1a;在事件被触发后&#xff0c;只有在指定的延迟时间内没有再次触发&#xff0c;才执行事件处理函数。 在我的理解中&#xff0c;简单的说就是在一个指定的时间内&#xff0c;仅触发一次&#xff0c;如果有多次重复触…...

web前端sse封装

这是一个基于microsoft/fetch-event-source包封装的sse函数&#xff0c;包含开始、停止功能; 可传更多参数、使用非常简单。 使用前: 安装 microsoft/fetch-event-source 代码&#xff1a; // sse import { fetchEventSource } from microsoft/fetch-event-source import { …...

智能家居WTR096-16S录放音芯片方案,实现语音播报提示及录音留言功能

前言&#xff1a; 在当今社会的高速运转之下&#xff0c;夜幕低垂之时&#xff0c;许多辛勤工作的父母尚未归家。对于肩负家庭责任的他们而言&#xff0c;确保孩童按时用餐与居家安全成为心头大事。此时&#xff0c;家居留言录音提示功能应运而生&#xff0c;恰似家中的一位无形…...

【创建模式-蓝本模式(Prototype Pattern)】

目录 Overview应用场景代码演示JDK Prototype pattern 更优实践泛型克隆接口 https://doc.hutool.cn/pages/Cloneable/#%E6%B3%9B%E5%9E%8B%E5%85%8B%E9%9A%86%E7%B1%BB The prototype pattern is a creational design pattern in software development. It is used when the t…...

Spring Boot应用开发深度解析与实战案例

Spring Boot应用开发深度解析与实战案例 在当今快速发展的软件开发领域,Spring Boot凭借其“约定优于配置”的理念,极大地简化了Java应用的开发、配置和部署过程,成为了微服务架构下不可或缺的技术选型。本文将深入探讨Spring Boot的核心特性、最佳实践,并通过一个具体的…...

优化Go语言中的网络连接:设置代理超时参数

网络连接优化的重要性 在分布式系统和微服务架构中&#xff0c;网络请求的效率直接影响到整个系统的响应速度。合理的超时设置可以防止系统在等待网络响应时陷入无限期的阻塞&#xff0c;从而提高系统的吞吐量和用户体验。特别是在使用代理服务器时&#xff0c;由于增加了网络…...

《神经网络与深度学习》(邱锡鹏) 内容概要【不含数学推导】

第1章 绪论 基本概念&#xff1a;介绍了人工智能的发展历程及不同阶段的特点&#xff0c;如符号主义、连接主义、行为主义等。还阐述了深度学习在人工智能领域的重要地位和发展现状&#xff0c;以及其在图像、语音、自然语言处理等多个领域的成功应用。术语解释 人工智能&…...

原创 传奇996_55——后端如何点击npc隐藏主界面

点击图片退出&#xff0c;举例&#xff1a; |linkexit Img|ax0.5|ay0.5|percentx50|percenty50|imgpublic/touming2.png|hideMain1|linkexit <Img|x0|y0|esc1|show4|bg1|move0|imgcustom/new/longhun/bg.png|loadDelay0|reset1|hideMain1>...

RabbitMQ中的Work Queues模式

在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信和解耦系统的关键组件之一。RabbitMQ 是一个广泛使用的开源消息代理软件&#xff0c;支持多种消息传递模式。其中&#xff0c;Work Queues&#xff08;工作队列&#xff09;模式是一…...

GESP202412 四级【Recamán】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202412 四级] Recamn 题目描述 小杨最近发现了有趣的 Recamn 数列&#xff0c;这个数列是这样生成的&#xff1a; 数列的第一项 a 1 a_1 a1​ 是 1 1 1&#xff1b;如果 a k − 1 − k a_{k-1}-k ak−1​−k 是正整数并且没有在数…...

蓝桥杯新年题解 | 第15届蓝桥杯迎新篇

蓝桥杯新年题解 | 第15届蓝桥杯迎新篇 2024年的蓝桥杯即将拉开序幕&#xff01;对于许多编程爱好者来说&#xff0c;这不仅是一次展示自我能力的舞台&#xff0c;更是一次学习和成长的机会。作为一名大一新生的小蓝&#xff0c;对蓝桥杯充满了期待&#xff0c;但面对初次参赛的…...

3D 生成重建035-DiffRF直接生成nerf

3D 生成重建035-DiffRF直接生成nerf 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 本文提出了一种基于渲染引导的三维辐射场扩散新方法DiffRF&#xff0c;用于高质量的三维辐射场合成。现有的方法通常难以生成具有细致纹理和几何细节的三维模型&#xff0c;并且容易出…...

@SpringBootTest 报错: UnsatisfiedDependencyException

Spring Boot Test 报错: UnsatisfiedDependencyException 在使用 SpringBootTest 测试时&#xff0c;出现 UnsatisfiedDependencyException 报错&#xff0c;原因和解决方法如下。 报错原因分析 1. Spring 存在涉及 Bean 没有被添加 Spring Boot 测试中&#xff0c;默认会加…...

mysql、postgresql、oceanbase调优

一、mysql 1、my.cnf [mysqld_safe] log-error=/data/mysql/log/mysql.log pid-file=/data/mysql/run/mysqld.pid[client] socket=/data/mysql/run/mysql.sock default-character-set=utf8[mysqld] basedir=/usr/local/mysql tmpdir=/data/mysql/tmp datadir=/data/mysql/dat…...

MySQL 数据库事务实践

引言 在现代应用程序开发中&#xff0c;确保数据库操作的完整性和一致性至关重要。MySQL 提供了强大的事务管理功能&#xff0c;允许开发者以原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;的方式处理数据。本文将通过详细的解释和实际示例&#xff0c;带你深入…...

VScode、Windsurf、Cursor 中 R 语言相关快捷键设置

前言 在生物信息学数据分析中&#xff0c;R语言是一个不可或缺的工具。为了提高R语言编程效率&#xff0c;合理设置快捷键显得尤为重要。本文介绍在VSCode Windsurf Cursor 中一些实用的R语言快捷键设置&#xff0c;让非 Rstudio 的 IDE 用起来得心应手&#x1f611; 操作种…...

tcpdump编译

https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz tar -zxvf flex-2.6.4.tar.gz ./configure CFLAGS-D_GNU_SOURCE make sudo make installwget http://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.gz ./configure make sudo make install以上两个库是…...

Linux下禁止root远程登录访问

开始讲故事 Long long ago&#xff0c; Linux远程访问方式有telnet、ssh两种协议&#xff1b;有人可能还会说vnc和rdp协议方式&#xff0c;后面这两种主要是可视化桌面场景下的&#xff0c;并非主流。 时过境迁&#xff0c;telnet因安全性低逐渐被禁用淘汰&#xff0c;最后就…...

算法刷题Day16: BM41 输出二叉树的右视图

题目链接 描述 思路&#xff1a; 递归构造二叉树在Day15有讲到。复习一下&#xff0c;就是使用递归构建左右子树。将中序和前序一分为二。 接下来是找出每一层的最右边的节点&#xff0c;可以利用队列层次遍历。 利用队列长度记录当前层有多少个节点&#xff0c;每次从队列里…...

登录授权的实现:json web token + redis + springboot

文章目录 引言I token实现思路传统JWT TOKEN认证方式改进的JWT TOKEN认证方式redis设计II java代码实现登录接口退出登录接口登录之后接口(token解析和校验)III 常见问题400引言 应用场景: 登录认证 I token实现思路 传统JWT TOKEN认证方式 RESTful API TOKEN认证方式:…...

yolov,coco,voc标记的睡岗检测数据集,可识别在桌子上趴着睡,埋头睡觉,座椅上靠着睡,平躺着睡等多种睡姿的检测,6549张图片

yolov&#xff0c;coco,voc标记的睡岗检测数据集&#xff0c;可识别在桌子上趴着睡&#xff0c;埋头睡觉&#xff0c;座椅上靠着睡&#xff0c;平躺着睡等多种睡姿的检测&#xff0c;6549张图片 数据集分割 6549总图像数 训练组91&#xff05; 5949图片 有效集9&#x…...

网站到期域名怎么解决办法/重庆seo网页优化

文章目录1、请求转发2、共享资源1、请求转发 请求转发是一种在服务器内部的资源跳转方式 步骤&#xff1a; 通过request对象获取请求转发器对象&#xff1a;RequestDispatcher getRequestDispatcher(String path); 使用RequestDispatcher对象来进行转发&#xff1a;forward(…...

中国建设委员会官网站/网站交换链接的常见形式

openstack之kvm学习&#xff08;一&#xff09; 感谢Cloudman提供的系列基础博客&#xff1a; http://cloudman.blog.51cto.com/10425448/1745873 虚拟化基础-Hypervisor Hypervisor&#xff08;也称VMM&#xff09;&#xff1a;运行在物理服务器和操作系统之间的中间软件层…...

优秀高端网站建设报价/怎么知道网站有没有被收录

导语&#xff1a;上次zhuoqun 发表《开发与研发》(上) 后在技术社区引发了关注。今天他在自己的博客发表了本文的下篇。在他看来&#xff0c;“对于那些真正对技术有兴趣的人&#xff0c;要么去做一个同时具备软件设计能力的开发人员&#xff0c;也就是富有创造力的 Hacker &am…...

桂林有哪些做网站的电话/网络营销与网站推广的

神操作之实现PHP跳转_后端开发 花式实现PHP中的页面跳转操作spyder和python的关系 Spyder是Python的一个简单的集成开发环境。它和其他的Python开发环境相比最大的优点就是模仿MATLAB的“工作空间”的功能&#xff0c;可以很方便地观察和修改数组的值。利用 Opcache 扩展提升 P…...

网站建设html5作品/广州网站建设

自8月17日安居广厦小程序上线“物业投诉”功能后&#xff0c;截止目前为止已收到投诉2678件&#xff0c;物业企业参与并完成反馈的2157件。其中投诉最多的内容为停车管理、公共设施维护、服务态度、装修管理这四大类别&#xff0c;根据投诉内容来看&#xff0c;无论新老小区都存…...

图片站手机网站怎么做/公司营销网站建设

导读&#xff1a;国内手机网站目前还算是个新鲜事物&#xff0c;相应的手机网站前端开发也并不是特别成熟&#xff0c;对于一个网页设计师来说要做一个手机网站还是会碰到许多问题&#xff0c;本文转载自淘宝 UED&#xff0c;分享如何开发进行手机网站的前端卡发。 从09年初接手…...