CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16
努力是为了让自己不平庸,但我主要想获取CSDN勋章!!
第一次参加CSDN编程竞赛,没什么经验。4道编程题,比赛前我觉得能答对2道题就好了,重在参与,但是比赛完我觉得还是挺简单的,和刷<算法>技能树的题差不多。主要在于算法方面的考核。基础还是得扎实。答题速度很关键。经验很重要。比赛就是要争分夺秒!!

CSDN APP上,比赛菜单进行参加。比赛含金量一般般。题型主要是刷<算法>技能树。平时的技术基础牢靠。

报名前,就是在CSDN APP上,我的学习中每个菜单都点击,看到比赛,有报名链接,就直接点击进报名,进行参加。
比赛过程:不允许复制粘贴超过20次,不允许切换出20次画面。--桌面右侧有一个迅雷图标,我右键关闭,就违反画面规则了。平时粘贴习惯了,习惯性鼠标选中,右键粘贴。最后想不让粘贴,只能一点点敲单词。
注意事项:比赛就是要争分夺秒!!
我的参赛主要想获取CSDN勋章!比赛前没什么特别的准备就和平时的状态是一样的,没参加过这种网上比赛,本来做前3道题很快就做完了,最后一道的时候卡住了,想好办法,没有想到比较好的办法,导致时间匆匆过去,当时没想那么多,就想把题完美的答好。还有就是编程过程中的导包也需要自己引入。如果被卡住了的话就快速切换下一题等等。注意合理安排时间。
首先读题,把题读明白了,想解题方法,想到了就按照自己思路进行实现。可以自测!自测按钮在上方,我答道第三题的时候才看到自测这个按钮,进行了自测,自测的话还得必须自己先把预想结果填上才能点击测试,否则不让点击。
一定要争分夺秒,注意时间!
推荐CSDN技能树<算法>,进行刷题!
X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
输入:3
ak sdf hkl
输出:1
- import java.util.ArrayList;
- import java.util.Scanner;
-
- public class KsTest1 {
-
- 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;
- // TODO: 请在此编写代码
- for(String str:vector){
- if("ak".equals(str) || "m4a1".equals(str) || "skr".equals(str)){
- result++;
- }
- }
- return result;
- }
-
- }
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?
输入:4
ww
ee
ee
cc
输出:ee
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Scanner;
-
- public class KsTest2 {
-
- 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();
- String result = solution(n, vector);
- System.out.println(result);
- }
-
- public static String solution(int n, ArrayList<String> vector){
- String result = "";
- // TODO: 请在此编写代码
- Map<String,Integer> map = new HashMap<>();
- for(String str:vector){
- if(map.containsKey(str)){
- Integer count = map.get(str)+1;
- map.put(str,count);
- }else{
- map.put(str,1);
- }
- }
- List<Map.Entry<String,Integer>> list = new ArrayList(map.entrySet());
- Collections.sort(list,(o1,o2) -> (o2.getValue() - o1.getValue()));
- if(list.size()>0){
- result = list.get(0).getKey();
- }
- return result;
- }
-
- }
已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用 的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
输入:dotdotaaatssatdotat
输出:dot.aa@ssat.at
- import java.util.Scanner;
-
- public class KsTest3 {
-
- 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 = "";
- // TODO: 请在此编写代码
- String firstStr=str.substring(0,1);
- String lastStr=str.substring(str.length()-1,str.length());
- String string=str.substring(1,str.length()-1);
- string = string.replace("dot",".").replaceFirst("at","@");
- result = firstStr + string + lastStr;
- return result;
- }
-
- }
给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3
无须数组取值:-1e9<=n<=1e9
输入:6
5 2 3 8 1 9
输出:3
- import java.util.ArrayList;
- import java.util.Scanner;
-
- public class KsTest4 {
-
- 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){
- int result = 0;
- // TODO: 请在此编写代码
- int num = 0;
- String flg="";
- if (n>1) {
- for(int i=1;i<n;i++){
- int j = i-1;
- Integer before = arr.get(j);
- Integer after = arr.get(i);
- if(before < after){
- num++;
- flg="if";
- }else{
- num = num +1;
- if(num>result){
- result = num;
- }
- num = 0;
- flg="else";
- }
- }
- if("if".equals(flg)){
- num = num + 1;
- if(num>result){
- result = num;
- }
- }
-
- }else {
- result = 1;
- }
- return result;
- }
-
- }
比赛就是要争分夺秒!!加油!!!!