返回顶部
首页 > 资讯 > 后端开发 > JAVA >第二届全国高校计算机技能竞赛——Java赛道
  • 712
分享到

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

java算法蓝桥杯每日一题 2023-09-30 18:09:34 712人浏览 泡泡鱼
摘要

第二届全国高校计算机技能竞赛——Java赛道 小赛跳高 签到题 import java.util.*;public class Main{public static void main(Str

第二届全国高校计算机技能竞赛——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道。
总体难度没去年难,考查基础思维。
注意代码实现细节和边界情况

往期回顾

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

蓝桥杯省一你一定不能错过的模板大全(第三期)

蓝桥杯省一你一定不能错过的模板大全(第四期)!!!

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

蓝桥杯上岸每日N题第一期(二)!!!

蓝桥杯上岸每日N题第一期(三)!!!

蓝桥杯上岸每日N题第二期(一)!!!

蓝桥杯上岸每日N题第三期(一)!!!

蓝桥杯上岸每日N题 第四期(最少刷题数)!!!

蓝桥杯上岸每日N题 第五期(山)!!!

蓝桥杯上岸每日N题 第六期(求阶乘)!!!

蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

蓝桥杯每日N题 (消灭老鼠)

蓝桥杯每日N题(杨辉三角形)

蓝桥杯每日N题 (砝码称重)

蓝桥杯上岸每日N题(鸡尾酒)

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题

竞赛干货

算法竞赛字符串常用操作大全

蓝桥杯上岸必刷!!!(模拟/枚举专题)

蓝桥杯上岸必背!!! (第三期 DP)

蓝桥杯上岸必背!!!(第四期DFS)

蓝桥杯上岸必背!!!(第五期BFS)

蓝桥杯上岸必背!!!(第六期树与图的遍历)

蓝桥杯上岸必背!!!(第七期 最短路算法)

蓝桥杯上岸必背!!!(第八期 简单数论)

蓝桥杯上岸必刷!!!(进制、数位专题)

蓝桥杯上岸考点清单 (冲刺版)!!!

蓝桥杯上岸必背模板 (纯享版)

来源地址:https://blog.csdn.net/joeyoj/article/details/133280038

--结束END--

本文标题: 第二届全国高校计算机技能竞赛——Java赛道

本文链接: https://lsjlt.com/news/421984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作