第二届全国高校计算机技能竞赛——Java赛道

news/2024/11/29 9:58:51/

第二届全国高校计算机技能竞赛——Java赛道

小赛跳高

在这里插入图片描述

签到题

import java.util.*;
public class Main{public static void main(String []args) {Scanner sc = new Scanner(System.in);double n = sc.nextDouble();for(int i = 0; i < 4; i++) {n = n * 0.9;}System.out.printf("%.2f", n);}
}

找数

在这里插入图片描述

签到题

import java.util.Scanner;
public  class Main{public static void main(String []args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int i = 1; i <= n; i++) {if((i % 3 == 1) && (i % 5 == 1) && (i % 7 == 1)) {System.out.print(i + " ");}}}
}

打分

在这里插入图片描述

签到题
注意cnt等于0的情况
最大值取-0x3f3f3f3f
最小值取0x3f3f3f3f
注意当cnt = 0时,说明无人打出大于0的分数。
此时选手的分数为0分,注意保留2位小数

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int maxsco = -0x3f3f3f3f;int minsco= 0x3f3f3f3f;int sum = 0;int cnt = 0;while (n-->0) {int sco = sc.nextInt();if (sco > 100 || sco < 1) {continue;}sum += sco;cnt++;if (sco > maxsco) {maxsco = sco;}if (sco < minsco) {minsco = sco;}}if(cnt>0) {System.out.printf("%.2f",(double) (sum - maxsco - minsco) / (cnt - 2));}else {System.out.println(0.00);} }
}

找子串

在这里插入图片描述

不断截取子串,判断后,找出最大串和最小串

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str1 = sc.nextLine();String minstr = str1;String maxstr = "";for (int i = 0; i < str1.length(); i++) {for (int j = i + 1; j <= str1.length(); j++) {String substr = str1.substring(i, j);if (substr.compareTo(minstr) < 0) {minstr = substr;}if (substr.compareTo(maxstr) > 0) {maxstr = substr;}}}System.out.println(minstr);System.out.println(maxstr);}
}

矩阵距离

在这里插入图片描述
在这里插入图片描述

宽搜bfs 队列存点对,往上下左右四个方向搜索
注意初始化所有距离数组dis[][]为-1

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;class Main {static final int[][] dt = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}};public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();scanner.nextLine(); // 读取换行符char[][] g = new char[n][m];for (int i = 0; i < n; i++) {String line = scanner.nextLine();for (int j = 0; j < m; j++) {g[i][j] = line.charAt(j);}}bfs(g, n, m);}static void bfs(char[][] g, int n, int m) {int[][] dis = new int[n][m];Queue<int[]> q = new LinkedList<>();for(int i = 0; i < n;i++) {for(int j = 0; j < m;j++) {dis[i][j] = -1;}}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (g[i][j] == '1') {dis[i][j] = 0;q.offer(new int[]{i, j});}}}while (!q.isEmpty()) {int[] t = q.poll();int x = t[0];int y = t[1];for (int i = 0; i < 4; i++) {int dx = x + dt[i][0];int dy = y + dt[i][1];if (dx >= 0 && dx < n && dy >= 0 && dy < m && dis[dx][dy] == -1) {dis[dx][dy] = dis[x][y] + 1;q.offer(new int[]{dx, dy});}}}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {System.out.print(dis[i][j] + " ");}System.out.println();}}
}

总结

难度中下,签到题3道,medium2道。
总体难度没去年难,考查基础思维。
注意代码实现细节和边界情况


http://www.ppmy.cn/news/1125488.html

相关文章

面试题库(八):docker和linux

docker docker的原理?dockerfile里面用过什么命令?用过docker?dockerfile写过吗,常用命令,说下分层原理docker 部署有什么好处?docker 的底层原理是什么?namespace 和 cgroups,一个隔离环境,一个控制资源配额。那隔离环境主要隔离什么环境?docker镜像和容器有什么区别…

js的继承

一、原型链继承 将父类的实例作为子类的原型 function Father(){this.name Tony }function Son() {}Son.prototype new Father()let son new Son();console.log(son.name) // Tony缺点&#xff1a; 父类所有的引用类型属性都会被所有子类共享&#xff0c;一个子类修改了属…

复习Day03:数组part03:76 . 最小覆盖子串、438. 找到z字符串z中所有字母异位词

之前的blog链接&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131700482?spm1001.2014.3001.5501 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Lab…

android 逆向去广告工具和流程

主要用到的软件&#xff1a; 1、安卓修改大师&#xff1a;有很多功能&#xff0c;但有会员限制。好用的是字符查找后&#xff0c;可以在smali和java切换 2、apktool&#xff1a;反编译、回编译工具。但是是命令行方式 3、jadx-gui-1.4.7-no-jre-win 反编译成java&#xff0c;非…

Oracle拉链表

目录 -- 准备一个拉链表 -- 2.将所有的数据 同步到拉链表中 TEST_TARGET中 --3. 源表的数据发生了变化 --4. 将新增和修改的数据同步到拉链表 -- 开链的过程 -- 判断源表和目标表的数据,不同数据插入 --5. 修改拉链表中失效的时间和状态(将原本的开链时间,改为当前时间)-- …

树莓派串口通信常用函数

使用Python&#xff1a; Serial模块&#xff1a;在Python中&#xff0c;您可以使用内置的serial模块来进行串口通信。以下是一些常用的函数和方法&#xff1a; serial.Serial(port, baudrate, timeout0.1): 打开串口连接。Serial.write(data): 向串口发送数据。Serial.read(siz…

ASCII码-对照表

ASCII 1> ASCII 控制字符2> ASCII 显示字符3> 常用ASCII码3.1> 【CR】\r 回车符3.2> 【LF】\n 换行符3.3> 不同操作系统&#xff0c;文件中换行 1> ASCII 控制字符 2> ASCII 显示字符 3> 常用ASCII码 3.1> 【CR】‘\r’ 回车符 CR Carriage Re…

openvino 将onnx转为IR并进行int8量化

openvino 将onnx转为IR并进行int8量化 环境安装环境编译 mo下载 openvino编译 mo onnx 转为 IRIR 模型量化为 int8参考 环境 - Ubuntu 22.04 - python 3.10安装环境 sudo apt-get update sudo apt-get upgrade sudo apt-get install python3-venv build-essential python3-de…