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

②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

蓝桥杯真题--持续更新中...

  • 一、振兴中华
  • 二、三部排序(代码填空题)





一、振兴中华


题目描述

在这里插入图片描述

文字版:
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。

地上画着一些格子,每个格子里写一个字,如下所示:

从 我 做 起 振
我 做 起 振 兴
做 起 振 兴 中
起 振 兴 中 华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。

要求跳过的路线刚好构成“从我做起振兴中华”这句话。

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?


解题思路
借助递归的思想解题,
第一次跳格子选择只有两种情况:
①向右跳
②向下跳
之后的每一个格子也都是只有上述两种选择,我们设定一个函数,函数中的两个参数代表跳格子的方向,以参数对应的坐标(0,0)作为开始位置,通过递归来遍历所有跳格子的选择,当x轴下标到4,或Y轴下标到3时,就可以认定为一条路线,并返回1,作为累加的次数。


解题代码:

public class 振兴中华 {public static void main(String[] args) {int answer = dfs(0,0);System.out.print(answer);}public static int dfs(int x,int y) {if(x == 4 || y == 3) return 1; //当x轴下标到4,或Y轴下标到3时,就可以认定为一条路线return dfs(x+1,y) + dfs(x,y+1);//递归,开始向右跳得到的路线 + 看是向左跳得到的路线,从而获取的所有路线}}




二、三部排序(代码填空题)


题目描述

在这里插入图片描述

文字版:
一般的排序有许多经典算法,如快速排序、希尔排序等。

但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。

比如,对一个整型数组中的数字进行分类排序:

使得负数都靠左端,正数都靠右端,0 在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过 1 次线性扫描就结束战斗!!

以下的程序实现了该目标。

其中 x 指向待排序的整型数组,len 是数组的长度。

请分析代码逻辑,并推测划线处的代码。

源代码(java)

import java.util.*;
public class Main
{static void sort(int[] x){int p = 0;int left = 0;int right = x.length-1;while(p<=right){if(x[p]<0){int t = x[left];x[left] = x[p];x[p] = t;left++;p++;}else if(x[p]>0){int t = x[right];x[right] = x[p];x[p] = t;right--;//p++;                }else{______________;}}show(x);}static void show(int[] x){for(int i=0; i<x.length; i++){System.out.print(x[i] + ",");}System.out.println();}public static void main(String[] args){//int[] x = {25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0};sort(new int[]{-1,0,1,-2,0,2,-3,0,0,3,-4,-5,4,-6,0,5,6});sort(new int[]{-1,0,-1,-2,0,-2,-3,0,0,-3,-4,-5,-4,-6,0,-5,-6});sort(new int[]{1,0,1,2,0,2,3,0,0,3,4,5,4,6,0,5,6});}
}

解题思路
代码中的这一段,是将 < 0 的数放到左边,然后 lp 都加一 :

while(p<=right){if(x[p]<0){         //若数小于0//将最左边数与当前数调换位置int t = x[left];x[left] = x[p]; x[p] = t;//左边界后移一位left++;//p位置也后移一位p++;}

紧接着就是将 >0 的数,与右边界上的数调换位置(调换后p位置不用动,右边界向前移动一位)
else if(x[p]>0){int t = x[right];x[right] = x[p];x[p] = t;right--;//p++;                }

那么画线位置,自然就是当p位置的数 =0 时,需要做操作。 这时候p位置的数既不大于零也不小于零,所以左右边界不用动,只需要p向后挪动一位,继续下一次的判断即可。

解题代码:

p++;




在这里插入图片描述

相关文章:

②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 蓝桥杯真题--持续更新中...一、振兴中华二、三…...

PostgreSql 视图

一、概述 视图&#xff08;View&#xff09;本质上是一个存储在数据库中的查询语句。视图本身不包含数据&#xff0c;也被称为虚拟表。 我们在创建视图时给它指定了一个名称&#xff0c;然后可以像表一样对其进行查询。 优势&#xff1a; 不保存数据&#xff0c;节省空间。减少…...

【PAT甲级题解记录】1150 Travelling Salesman Problem (25 分)

【PAT甲级题解记录】1150 Travelling Salesman Problem (25 分) 前言 Problem&#xff1a;1150 Travelling Salesman Problem (25 分) Tags&#xff1a;模拟 图的遍历 旅行商问题 Difficulty&#xff1a;剧情模式 想流点汗 想流点血 死而无憾 Address&#xff1a;1150 Travell…...

vue生命周期

vue生命周期是什么&#xff1f;Vue生命周期是指vue实例对象从创建之初到销毁的过程&#xff0c;vue所有功能的实现都是围绕其生命周期进行的&#xff0c;在生命周期的不同阶段调用对应的钩子函数可以实现组件数据管理和DOM渲染两大重要功能。我们来看一下官网给的vue生命周期的…...

排查解决Java进程占用内存过高

排查解决Java进程占用内存过高1 在项目部署运行之前1 检查JVM参数设置2 检查代码逻辑3 使用内存分析工具4 检查线程5 调整应用程序的设计7 调整硬件资源2 在项目部署运行之后1 在项目部署运行之前 1 检查JVM参数设置 检查JVM的启动参数设置&#xff0c;包括-Xmx和-Xms参数&am…...

一个基于 LKM 的 Linux 内核级 rootkit 的实现

博客已迁移至&#xff1a;https://gls.show/ GitHub链接 演示Slides overview rootkit是一种恶意软件&#xff0c;攻击者可以在获得 root 或管理员权限后安装它&#xff0c;从而隐藏入侵并保持root权限访问。rootkit可以是用户级的&#xff0c;也可以是内核级的。关于rootk…...

CAN工具 - ValueCAN - 基础介绍(续)

VSpy3&#xff08;Vehicle Spy 3的简写&#xff09;&#xff0c;作为一个常用的车载总线仿真工具&#xff0c;在车载网络领域也是有非常大的市场&#xff0c;前面也简单介绍过一些简单的功能&#xff0c;今天就再次介绍一些。什么是VSpy3&#xff1f;VSpy3是美国英特佩斯公司下…...

一个Laravel+vue免费开源的基于RABC控制的博客系统

项目介绍 CCENOTE 是一个使用 Vue3 Laravel8 开发的前后端分离的基于RABC权限控制管理的内容管理系统&#xff0c;由于作者本人比较喜欢写作的原因&#xff0c;因此开发了这个项目&#xff0c;后端使用的PHP的Laravel框架&#xff0c;并且整理了数据层与业务层&#xff0c;相…...

从 B 站出发,用 Chrome devTools performance 分析页面如何渲染

页面是如何渲染的&#xff1f;通常会得到“解析 HTML、css 合成 Render Tree&#xff0c;就可以渲染了”的回答。但是具体都做了些什么&#xff0c;却很少有人细说&#xff0c;我们今天就从 Chrome 的性能工具开始&#xff0c;具体看看一个页面是如何进行渲染的&#xff0c;以及…...

Java异常Throwable的分类

1. Exception&#xff1a;程序本身可以捕获并且可以处理的异常 编译时异常&#xff1a;编译期就会检查的异常&#xff0c;若调用的方法中throw了此类异常&#xff0c;则必须进行显式处理处理&#xff08;用try…catch捕获或者throws向上抛出&#xff09;&#xff0c;否则无法通…...

【mybatis的#和$使用和区别】

MyBatis是一种基于Java的持久层框架&#xff0c;用于将数据库操作和Java对象之间的映射进行处理。在MyBatis中&#xff0c;#和 $ 符号是用于SQL语句中的占位符。 在SQL语句中&#xff0c;#和 $ 符号都表示占位符&#xff0c;但它们的使用方式略有不同&#xff1a; # 符号 #符…...

感知趋势,洞察发展:2023(第十届)趋势与预测大会成功举办

2023年2月23日&#xff0c;运联年会&#xff1a;2023&#xff08;第十届&#xff09;趋势与预测大会在深圳机场凯悦酒店成功闭幕。自2014年开始&#xff0c;“运联年会&#xff1a;趋势与预测”已经连续举办九届。这场大会&#xff0c;既是一次行业性的“年终总结”&#xff0c…...

Spring-Aop核心技术

前言spring一直以来都是我们Java开发中最核心的一个技术&#xff0c;其中又以ioc和aop为主要技术&#xff0c;本篇文章主要讲一下aop的核心技术&#xff0c;也就是ProxyFactory技术的使用&#xff0c;而基本的jdk动态代理和cglib代理技术并不涉及&#xff0c;如有需要&#xff…...

webpack常用优化原理剖析

webpack常用优化原理剖析 按需加载代码配置原理CDN加速-externals代码配置GZIP压缩代码配置原理Tree Shaking代码配置原理按需加载 把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件. 代码配置 //定义了一个异步函数,由于函数不调用不执行,所…...

【现在努力还不晚】--MySQL数据库的数据模型

目录 1、关系型数据库&#xff08;RDBMS&#xff09; 特点 2、数据模型 在学习MySQL之前要了解一下数据库的数据模型&#xff0c;我们就知道在MySQL当中&#xff0c;数据是如何存储的&#xff0c;我们了解一下概念&#xff01; 1、关系型数据库&#xff08;RDBMS&#xff0…...

二手商品交易网站

技术&#xff1a;Java、JSP等摘要&#xff1a;随着科学技术和信息通讯的飞速发展&#xff0c;Internet极大地丰富和改变着我们生活的各个行业。随着Internet的普及应用&#xff0c;人们可以跨越时间和空间的限制&#xff0c;足不出户便能通过网络完成信息交流&#xff0c;而完成…...

第三阶段04-同步请求和异步请求,get/post,Josn,pojo,Session/Cookie,过滤器Filter

文章目录同步请求和异步请求客户端如何发出异步请求自定义模板代码Get和Post请求异步版本的注册和登录商品管理系统(异步版本)商品列表步骤:前后端分离为什么需要前后端分离?为什么以后不再使用同步请求?JSONPOJO会话对象Session如何记住登录状态后端的MVC会话管理Cookie通过…...

Spark学习:spark相似算子解析

spark算子 一、Map、Flatmap和MapPartition二、repartition和coalesce三、reduceByKey和groupByKey四、collect、take和first一、Map、Flatmap和MapPartition 算子作用map接收一个高阶函数f,对每个算子进行f操作flatmap接收一个高阶函数f,对每个元素进行f操作,形成一个大的集合…...

MySQL操作数据表-----------创建数据表(一)

在MySQL中创建数据库完成后&#xff0c;需要使用USE 数据库名的形式指定进行操作的数据库&#xff0c;然后再去执行创建数据表的SQL语句&#xff0c;也可以直接使用数据库名.数据表名的形式创建数据表。 1.创建空数据表 语法格式&#xff1a;CREATE TABLE [IF EXISTS] 表名 &…...

Java “框架 = 注解 + 反射 + 设计模式” 之 注解详解

Java ”框架 注解 反射 设计模式“ 之 注解详解 每博一文案 刹那间我真想令时光停住&#xff0c;好让我回顾自己&#xff0c;回顾失去的年华&#xff0c;缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小女孩。让我追悔少年时代&#xff0c;我心灵的愚钝无知&#xff0c;它轻易…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时&#xff0c;一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说&#xff0c;深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言&#xff0c;以及学会如何在Python中操作数据库&#xff0c;是…...