【CSDN编程竞赛 第六期】我的第一场编程竞赛

简介: 我的第一场编程竞赛解题思路。

解题思路


题目一、


1、题目名称:严查枪火 X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。

现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)


解题思路:

遍历数组中的数,如果出现“ak”,“m4a1”,“skr”就记录下来,返回出现的总次数即可。


比赛提交代码:

import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str_0 = scan.nextLine().trim();
int n = Integer.parseInt(str_0);
ArrayList<String> vector = new ArrayList<>();
for (int i = 0; i < n; i++){
String str_1 = scan.nextLine().trim();
vector.add(str_1);
}
scan.close();
int result = solution(n, vector);
System.out.println(result);
}
public static int solution(int n, ArrayList<String> vector){
int result = 0;
for(int i = 0;i < n; ++i){
if(vector.get(i).equals("ak") || vector.get(i).equals("m4a1") || vector.get(i).equals("skr"))
result++;
}
return result;
}
}

提交结果:

微信图片_20221029141545.png

题目二、


2、题目名称:鬼画符门 鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个

程序统计每年消耗数量最多的鬼画符吗?


讲讲解题思路吧,这道题提交代码显示的是先前提交错误的那一版,正确的那一版丢失了,就不粘贴代码了:

可以用HashMap来存储,主键存放出现过得 鬼画符类型,value值存储的就是出现次数,最终只需要输出value值最大的相应主键即可。


题目三、


3、题目名称:收件邮箱 已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。

写一个程序将str转化成可用

的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)


解题思路:

将字符串转换为字符数组,遍历数组,出去开头结尾外,遍历到 a就判断后面是否有 t;遍历到d就判断后面两个是否为 o 和 t;

将条件的元素其中一个转换,其余用空格代替。

最终忽略掉空格,将字符数组的所有元素拼接起来输出即可。


提交的代码:

import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str_0 = scan.nextLine().trim();
String str = str_0;
scan.close();
String result = solution(str);
System.out.println(result);
}
public static String solution(String str){
String result = "";
char[] arr = str.toCharArray();
int n = arr.length;
int count = 0;
for(int i = 1;i < n-2;++i){
if(count == 0){
if(arr[i] == 'a' && arr[i+1] == 't'){
arr[i] = ' ';
arr[i+1] = '@';
count++;
}
}
if(i<n-3){
if(arr[i] == 'd' && arr[i+1] == 'o' && arr[i+2] == 't'){
arr[i] = ' ';
arr[i+1] = ' ';
arr[i+2] = '.';
}
}
}
for(int i = 0;i < n;++i){
if(arr[i] != ' ')
result += arr[i];
}
return result;
}
}

提交结果:

微信图片_20221029141554.png


题目四、


4、题目名称:最长递增的区间长度 给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3


解题思路:

遍历给定区间长度的数组,如果有序就累加地记录下来,无序就归零,最终将记录数值的历史最高输出,便是最长递增区间。


提交代码:

import java.util.ArrayList;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str_0 = scan.nextLine().trim();
int n = Integer.parseInt(str_0);
String str_1 = scan.nextLine();
String[] line_list_1 = str_1.trim().split(" ");
ArrayList<Integer> arr = new ArrayList<>();
for(int i = 0; i < line_list_1.length; i++){
arr.add(Integer.parseInt(line_list_1[i]));
}
scan.close();
int result = solution(n, arr);
System.out.println(result);
}
public static int solution(int n, ArrayList<Integer> arr){
if(n == 0) return 0;
if(n == 1) return 1;
int result = 0;
int count = 0;
for(int i = 1;i < n;++i){
if(arr.get(i) >= arr.get(i-1)){
count++;
}else{
count = 0;
}
if(count + 1 >= result){
result = count + 1;
}
}
return result;
}
}

结果:

微信图片_20221029141602.png


总结


总的来说,这次编程竞赛的题目并不难,即使对于我这种小白选手,也是有能力得到满分的,就是用时比较久,且最终发挥的成绩没有达到预期。

有得有失,这次编程竞赛的经历让我有所进步,希望自己能再接再厉,变得更加强大吧....


贵在坚持:

微信图片_20221029111446.jpg

目录
相关文章
|
3月前
【2023 年第三届长三角高校数学建模竞赛】C 题 考研难度知多少 考研情况相关数据下载
本文介绍了2023年第三届长三角高校数学建模竞赛C题的背景和要求,聚焦于分析2023年考研难度及其影响因素,并探讨了自1979年以来考研难度的变化趋势和未来预测,同时提供了相关数据集的详细介绍和获取方式。
25 0
【2023 年第三届长三角高校数学建模竞赛】C 题 考研难度知多少 考研情况相关数据下载
|
3月前
|
安全 网络协议 网络安全
网安科班精选!爱荷华大学教授的网络安全零基础入门教程!
网络就像一把双刃剑,给我们的生活、交流、工作和发展带来了便利,但同时也给信息安全以及个人隐私带来了威胁。网络和信息安全问题不仅影响了网络的普及和应用,还关系到企国家、军队、企业的信息安全和社会的经济安全,让人又爱又恨。 今天给大家分享的这份手册,主要从网络漏洞、协议和安全解决方案等方面来探讨网络安全问题。我们把网络看成是不安全和安全的源头,通过分析网络漏洞、探测、攻击和减少攻击的方法,来研究不同的网络协议。
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT最强专业学习资料集锦
本文旨在整理一份可供参考和学习的专业ChatGPT相关资料,包括ChatGPT相关论文、Github项目、以及当前市场上出现的ChatGPT相关产品等。
ChatGPT最强专业学习资料集锦
|
安全 网络安全 网络虚拟化
CTF学习和比赛平台简介
CTF学习和比赛平台简介
885 1
|
BI C++
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
66 0
|
测试技术 UED
【CSDN第五期竞赛】说说自己的感受吧
【CSDN第五期竞赛】说说自己的感受吧
89 0
|
算法 C语言
【CSDN编程竞赛·第四期】个人参赛经历和个人建议
大家好,我前不久参加了官方举办的CSDN编程比赛,官方举办了四期,第一期的时候没看到,错过了,后面的每一期我都参加了,总的感觉来说,还可以。下面我具体说说第四期相关经验吧。
|
C语言 Python
我带我的小侄子参加编程竞赛
我带我的小侄子参加编程竞赛
64 0
我带我的小侄子参加编程竞赛
CSDN竞赛第六期第二题(C++)
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理,但是这次鬼艺接手了,你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗? 注解(这题是一道找出出现次数最多的字符串的一道题目) 输入描述: 第一行输入整数n.(1<=n<=1000)以下n行输入n个字符串,代表消耗的鬼画符。 输出描述: 输出消耗数量最多的鬼画符(字符串),无需考虑多种鬼画符消耗数量相同的情况。 示例1 输入 5 red red green green hen 输出 red
159 0
学术规范与论文写作(雨课堂)研究生 全部答案
学术规范与论文写作(雨课堂)研究生 全部答案
1977 0
学术规范与论文写作(雨课堂)研究生 全部答案