2020年蓝桥杯Java B组第二场题目+部分个人解析
#A:门牌制作 624

解一:
public static void main(String[] args) {int count=0;for(int i=1;i<=2020;i++) {int n=i;while(n>0) {if(n%10==2) {count++;}n/=10;}}System.out.println(count);}
解二:
public static void main(String[] args) {int cnt=0;for (int i = 1; i <= 2020; i++) {String s=i+"";for (int j = 0; j < s.length(); j++) {if(s.charAt(j)=='2') cnt++;}}System.out.println(cnt);}
#寻找 2020 16520

public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);char[][] ch = new char[300][300];long sum = 0 ;for (int i = 0; i < ch.length; i++) {ch[i] = scanner.nextLine().toCharArray();}for (int i = 0; i < ch.length; i++) {for (int j = 0; j < ch[0].length; j++) {if (j+3<ch[0].length) {if (ch[i][j]=='2' && ch[i][j+1]=='0' &&ch[i][j+2]=='2' &&ch[i][j+3]=='0' ) {sum++;}}if (i+3<ch.length) {if (ch[i][j]=='2' && ch[i+1][j]=='0' &&ch[i+2][j]=='2' &&ch[i+3][j]=='0') {sum++;}}if (i+3<ch.length && j+3<ch[0].length) {if (ch[i][j]=='2' && ch[i+1][j+1]=='0' &&ch[i+2][j+2]=='2' &&ch[i+3][j+3]=='0') {sum++;}}}}System.out.println(sum);//16520}
#C: 蛇形填数 761

解题思路:先手写几行就可以发现,第一行第一列的值为1,第二行第二列的值为5.第三行第三列的值为13,第四行第四列的值为25,仔细观察就可以发现第i行第i列的值为 a = a + (i*4)。
public static void main(String[] args) {// TODO Auto-generated method stubint sum = 1;for (int i = 0; i < 20; i++) {sum = sum + (i * 4);}System.out.println(sum);}
#D:七段码(dfs) 80

解一:
static int[][] list = new int[][]{{0,1,0,0,0,1,0},{1,0,1,0,0,0,1},{0,1,0,1,0,0,1},{0,0,1,0,1,0,0},{0,0,0,1,0,1,1},{1,0,0,0,1,0,1},{0,1,1,0,1,1,0},};static Set<Set<Integer>> set = new HashSet<>();static boolean[] booleans = new boolean[7];public static void main(String[] args) {Scanner sc = new Scanner(System.in);ArrayList<Integer> arr = new ArrayList<>();for (int i = 0 ; i < 7 ; i++){booleans[i] = true;arr.add(i);set.add(new HashSet<>(arr));dfs(arr);booleans[i] = false;arr.remove(arr.size()-1);}System.out.println(set.size());}private static void dfs(ArrayList<Integer> arr) {set.add(new HashSet<>(arr));int last = arr.get(arr.size()-1);for (int i = 0 ; i < list[last].length ; i++){if (list[last][i] == 1 && !booleans[i]){booleans[i] = true;arr.add(i);dfs(arr);booleans[i] = false;arr.remove(arr.size()-1);}}}
解二:
public static void main(String[] args) {creatGraph();dfs(1);System.out.println(count);}private static void creatGraph() {arr[1][2] = arr[1][6] = 1;arr[2][1] = arr[2][7] = arr[2][3] = 1;arr[3][2] = arr[3][4] = arr[3][7] = 1;arr[4][3] = arr[4][5] = 1;arr[5][4] = arr[5][6] = arr[5][7] = 1;arr[6][1] = arr[6][5] = arr[6][7] = 1;}private static void dfs(int k) {if (k > 7) {check();int q = 0;for (int i = 1; i <= 7; i++) {if (v[i] && res[i] == i) {q++;}}if (q == 1)count++;return;}v[k] = true;dfs(k + 1);v[k] = false;dfs(k + 1);}private static void check() {for (int i = 1; i <= 7; i++) {res[i] = i;}for (int i = 1; i <= 7; i++) {for (int j = 1; j <= 7; j++) {if (arr[i][j] != 0 && v[i] && v[j]) {int fx = find(i), fy = find(j);if (fx != fy) {res[fx] = fy;}}}}}private static int find(int p) {if (res[p] == p) {return p;} else {res[p] = find(res[p]);return res[p];}}
解三:
static ArrayList<Integer>[] list;static HashSet<Integer> set = new HashSet<Integer>();public static void main(String[] args) {init();for(int i=0; i<7; ++i) {vis[0] = i;set.add(1<<i);dfs(1, 1<<i);}System.out.println(set.size());}static int[] vis = new int[7];public static void dfs(int n, int v) {for(int i=0; i<n; ++i) {for(int t : list[vis[i]]) {int p = v|(1<<t);if(!set.contains(p)) {set.add(p);vis[n] = t;dfs(n+1, p);}}}}public static void init() {//存储七位数的关系 list = new ArrayList[7];for(int i=0; i<7; ++i) {list[i] = new ArrayList<Integer>();}list[0].add(1);list[0].add(5);list[1].add(0);list[1].add(6);list[1].add(2);list[2].add(1);list[2].add(3);list[2].add(6);list[3].add(2);list[3].add(4);list[4].add(3);list[4].add(5);list[4].add(6);list[5].add(0);list[5].add(4);list[5].add(6);list[6].add(1);list[6].add(2);list[6].add(4);list[6].add(5);}
#E:排序 jonmlkihgfedcba

--------------------------------------------------------------------
--------------------------------------------------------------------
#F:成绩分析(模拟、暴力)

public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int a,max=0,min=100;double sum=0;for(int i=0;i<n;i++) {a=sc.nextInt();if(max<a) {max=a;}if(min>a) {min=a;}sum+=a;}System.out.println(max);System.out.println(min);System.out.printf("%.2f",sum/n);}
#G:单词分析(字符串)


public static void main(String[] args) {Scanner sc=new Scanner(System.in);String str=sc.next();int[]arr =new int[26];int a=0;;char ch = 'a';for(int i=0;i<str.length();i++) {arr[str.charAt(i)-97]++;if(arr[str.charAt(i)-97]>a) {a=arr[str.charAt(i)-97];ch=str.charAt(i);}else if(arr[str.charAt(i)-97]==a) {if(ch-str.charAt(i)>0) {a=arr[str.charAt(i)-97];ch=str.charAt(i);}}}System.out.println(ch); System.out.println(a);}
#H: 数字三角形(DP)


public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n=scanner.nextInt();int [][]arr=new int[n+1][n+1];for (int i = 1; i < arr.length; i++) {for (int j = 1; j <= i; j++) {int s=scanner.nextInt();arr[i][j]=s+Math.max(arr[i-1][j-1],arr[i-1][j]);}}System.out.println(n%2==1?arr[n][n/2+1]:Math.max(arr[n][n/2],arr[n][n/2+1]));}}
解二:
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();//base case : f(1) = a1int[][] dp = new int[n][n+1];int temp = scanner.nextInt();dp[0][0] = temp;int max = Integer.MIN_VALUE;for (int i = 2; i <= n; i++) {for (int j = 0; j < i; j++) {temp = scanner.nextInt();if (j != 0 && j != (i-1)) {dp[i-1][j] = Integer.max(dp[i-2][j-1],dp[i-1][j])+temp;}else if (j == 0) {dp[i-1][j] = dp[i-2][j]+temp;}else {dp[i-1][j] = dp[i-2][j-1]+temp;}if(dp[i-1][j] > max)max = dp[i-1][j];}dp[i-1][n] = max;max = Integer.MIN_VALUE;}System.out.println(dp[n-1][n]);scanner.close();}
# I:子串分值和(规律题吧)


解一:
public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] arr = new int[26];long res = 0;for(int i = 0;i < 26;i++){arr[i] = -1;}String s = sc.nextLine();String[] str = s.split("");int willIndex = str.length;for(int i = 0;i < str.length;i++){int lastIndex = arr[str[i].charAt(0)-97];res += (long)(i - lastIndex)*(willIndex - i);arr[str[i].charAt(0)-97] = i;}System.out.println(res);}
解二:
public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next();int[] nums = new int[26];long res = 0;long n = str.length();str = "0"+str;for (int i = 1; i < str.length(); i++) {res += (i - nums[str.charAt(i) - 'a']) * (n - i+1);nums[str.charAt(i) - 'a'] = i;}System.out.println(res);}
#J: 装饰珠


相关文章:
2020年蓝桥杯Java B组第二场题目+部分个人解析
#A:门牌制作 624 解一: public static void main(String[] args) {int count0;for(int i1;i<2020;i) {int ni;while(n>0) {if(n%102) {count;}n/10;}}System.out.println(count);} 解二: public static void main(String[] args) {…...
[深度学习] 大模型学习2-提示词工程指北
在文章大语言模型基础知识里,提示词工程(Prompt Engineering)作为大语言模型(Large Language Model,LLM)应用构建的一种方式被简要提及,本文将着重对该技术进行介绍。 提示词工程就是在和LLM聊…...
FPGA之硬件设计笔记-持续更新中
目录 1、说在前面2、FPGA硬件设计总计说明3、 原理图详解 - ARITX - 7 系列3.1 顶层框图介绍3.2 FPGA 电源sheet介绍:3.2.1 bank 14 和 bank 15的供电3.2.2 bank 0的供电3.2.3 Bank34 35 的供电 3.3 核电压和RAM电压以及辅助电压 4 原理图详解-- Ultrascale ARTIX4.…...
vue cli 与 vite的区别
1、现在我们一般会用vite来构建vue3的项目。 2、之前一开始的时候,我们会用vue cli的vue create来构建项目。 3、它们之间有什么区别呢? 1. 设计理念 Vue CLI: 是 Vue.js 官方提供的命令行工具,主要用于快速搭建 Vue 项目。 提…...
怎么在本地环境安装yarn包
一、安装Yarn的前置条件 安装Node.js和npm Yarn依赖于Node.js环境,需先安装Node.js官网的最新稳定版(建议≥16.13.0)。安装时勾选“Add to PATH”以自动配置环境变量。 二、安装Yarn的多种方式 1. 通过npm全局安装(通用…...
【大模型】AI 辅助编程操作实战使用详解
目录 一、前言 二、AI 编程介绍 2.1 AI 编程是什么 2.1.1 为什么需要AI辅助编程 2.2 AI 编程主要特点 2.3 AI编程底层核心技术 2.4 AI 编程核心应用场景 三、AI 代码辅助编程解决方案 3.1 AI 大模型平台 3.1.1 AI大模型平台代码生成优缺点 3.2 AI 编码插件 3.3 AI 编…...
react18自定义hook实现
概念:自定义 hook 是一种将组件逻辑提取到可复用函数中的方式,它允许你在多个组件中共享相同的状态和行为。自定义 hook 的本质上是一个普通的 JavaScript 函数,它可以使用 React 内部的 hook(如 useState、useEffect、useContext…...
一周学会Flask3 Python Web开发-Jinja2模板过滤器使用
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在Jinja2中,过滤器(filter)是一些可以用来修改和过滤变量值的特殊函数,过滤器和变量用一个竖线 | &a…...
使用PDFMiner.six解析PDF数据
PDF(可移植文档格式)文件是由Adobe创建的一种灵活的文件格式,它允许文档在不同的软件、硬件和操作系统中一致地显示。每个PDF文件都包含对固定布局文档的全面描述,包括文本、字体、图形和其他必要的显示元素。pdf通常用于文档共享…...
本地svn
参考补充:https://blog.csdn.net/hhl_work/article/details/107832414 先在D:\coding_cangku下新建空文件夹,例:code1【类似gitee线上仓库】点击进入code1,右键选择TortoiseSVN,再下一级菜单下点击Create repository …...
金融支付行业技术侧重点
1. 合规问题 第三方支付系统的平稳运营,严格遵循《非银行支付机构监督管理条例》的各项条款是基础与前提,其中第十八条的规定堪称重中之重,是支付机构必须牢牢把握的关键准则。 第十八条明确指出,非银行支付机构需构建起必要且独…...
axios几种请求类型的格式
Axios 是一个基于 Promise 的 HTTP 客户端,广泛用于浏览器和 Node.js 中发送 HTTP 请求。它支持多种请求格式,包括 GET、POST、PUT、DELETE 等。也叫RESTful 目录 一、axios几种请求类型的格式 1、get请求 2、post请求 3、put请求 4、delete请求 二…...
二、IDE集成DeepSeek保姆级教学(使用篇)
各位看官老爷好,如果还没有安装DeepSeek请查阅前一篇 一、IDE集成DeepSeek保姆级教学(安装篇) 一、DeepSeek在CodeGPT中使用教学 1.1、Edit Code 编辑代码 选中代码片段 —> 右键 —> CodeGPT —> Edit Code, 输入自然语言可编辑代码,点击S…...
通过理解 sk_buff 深入掌握 Linux 内核自定义协议族的开发实现
要开发 Linux 内核中的自定义协议族(如私有传输层或网络层协议),需基于 sk_buff 的结构和操作,结合内核网络栈的扩展机制。以下是实现这一目标的分步指南: 1. 协议族开发的核心步骤 (1) 注册自定义协议族 定义协议号 在 <linux/if_ether.h> 或自定义头文件中分配唯…...
Qt 自带颜色属性
Qt 系统自带颜色如下: enum GlobalColor {color0,color1,black,white,darkGray,gray,lightGray,red,green,blue,cyan,magenta,yellow,darkRed,darkGreen,darkBlue,darkCyan,darkMagenta,darkYellow,transparent};对应颜色如下: color0: 这是自定义颜色…...
Linux的文件与目录管理
rm -rf / 列出目录内容和属性 命令:ls 格式:ls 选项 文件名 例: ls -a 打印工作路径 命令:pwd 切换工作目录 命令:cd 格式:cd 相对路径或者绝对路径 查看文件类型 命令:file 格式…...
常用的 pip 命令
pip 是 Python 的包管理工具,可用于安装、卸载、更新和管理 Python 包。以下是一些常用的 pip 命令: 1. 安装包 安装最新版本的包 pip install package_namepackage_name 是你要安装的 Python 包的名称,例如 pip install requests 可以安装…...
Vue 项目中配置代理的必要性与实现指南
Vue 项目中配置代理的必要性与实现指南 在 Vue 前端项目的开发过程中,前端与后端地址通常不同,可能引发跨域问题。为了在开发环境下顺畅地请求后端接口,常常会通过配置**代理(proxy)**来解决问题。这篇文章将详细解析…...
【QT】QLinearGradient 线性渐变类简单使用教程
目录 0.简介 1)qtDesigner中 2)实际执行 1.功能详述 3.举一反三的样式 0.简介 QLinearGradient 是 Qt 框架中的一个类,用于定义线性渐变效果(通过样式表设置)。它可以用来填充形状、背景或其他图形元素࿰…...
编程题 - 汽水瓶【JavaScript/Node.js解法】
“学如逆水行舟,不进则退。” ——《增广贤文》 目录 汽水瓶 题目:解答分析:js代码解答 -ACM模式:代码通过:题解分析:简洁思路代码: 汽水瓶 题目: 某商店规定:三个空…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...


