• CSDN编程竞赛·第六期-赛后感受


    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16

    努力是为了让自己不平庸,但我主要想获取CSDN勋章!!

    前言/背景

            第一次参加CSDN编程竞赛,没什么经验。4道编程题,比赛前我觉得能答对2道题就好了,重在参与,但是比赛完我觉得还是挺简单的,和刷<算法>技能树的题差不多。主要在于算法方面的考核。基础还是得扎实。答题速度很关键。经验很重要。比赛就是要争分夺秒!!

    大赛简介

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

    参赛流程

            报名前,就是在CSDN APP上,我的学习中每个菜单都点击,看到比赛,有报名链接,就直接点击进报名,进行参加。

            比赛过程:不允许复制粘贴超过20次,不允许切换出20次画面。--桌面右侧有一个迅雷图标,我右键关闭,就违反画面规则了。平时粘贴习惯了,习惯性鼠标选中,右键粘贴。最后想不让粘贴,只能一点点敲单词。

            注意事项:比赛就是要争分夺秒!!

    参赛经历

            我的参赛主要想获取CSDN勋章!比赛前没什么特别的准备就和平时的状态是一样的,没参加过这种网上比赛,本来做前3道题很快就做完了,最后一道的时候卡住了,想好办法,没有想到比较好的办法,导致时间匆匆过去,当时没想那么多,就想把题完美的答好。还有就是编程过程中的导包也需要自己引入。如果被卡住了的话就快速切换下一题等等。注意合理安排时间。

    解题思路

            首先读题,把题读明白了,想解题方法,想到了就按照自己思路进行实现。可以自测!自测按钮在上方,我答道第三题的时候才看到自测这个按钮,进行了自测,自测的话还得必须自己先把预想结果填上才能点击测试,否则不让点击。

    经验心得

            一定要争分夺秒,注意时间!

    资料分享

            推荐CSDN技能树<算法>,进行刷题!

    CSDN编程竞赛·第六期   编程题

    1、题目名称:严查枪火

    X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)

    输入:3

            ak  sdf hkl

    输出:1

    1. import java.util.ArrayList;
    2. import java.util.Scanner;
    3. public class KsTest1 {
    4. public static void main(String[] args) {
    5. Scanner scan = new Scanner(System.in);
    6. String str_0 = scan.nextLine().trim();
    7. int n = Integer.parseInt(str_0);
    8. ArrayList<String> vector = new ArrayList<>();
    9. for (int i = 0; i < n; i++){
    10. String str_1 = scan.nextLine().trim();
    11. vector.add(str_1);
    12. }
    13. scan.close();
    14. int result = solution(n, vector);
    15. System.out.println(result);
    16. }
    17. public static int solution(int n, ArrayList<String> vector){
    18. int result = 0;
    19. // TODO: 请在此编写代码
    20. for(String str:vector){
    21. if("ak".equals(str) || "m4a1".equals(str) || "skr".equals(str)){
    22. result++;
    23. }
    24. }
    25. return result;
    26. }
    27. }

    2、题目名称:鬼画符门

    鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?

    输入:4

            ww

            ee

            ee

            cc

    输出:ee

    1. import java.util.ArrayList;
    2. import java.util.Collections;
    3. import java.util.HashMap;
    4. import java.util.List;
    5. import java.util.Map;
    6. import java.util.Scanner;
    7. public class KsTest2 {
    8. public static void main(String[] args) {
    9. Scanner scan = new Scanner(System.in);
    10. String str_0 = scan.nextLine().trim();
    11. int n = Integer.parseInt(str_0);
    12. ArrayList<String> vector = new ArrayList<>();
    13. for (int i = 0; i < n; i++){
    14. String str_1 = scan.nextLine().trim();
    15. vector.add(str_1);
    16. }
    17. scan.close();
    18. String result = solution(n, vector);
    19. System.out.println(result);
    20. }
    21. public static String solution(int n, ArrayList<String> vector){
    22. String result = "";
    23. // TODO: 请在此编写代码
    24. Map<String,Integer> map = new HashMap<>();
    25. for(String str:vector){
    26. if(map.containsKey(str)){
    27. Integer count = map.get(str)+1;
    28. map.put(str,count);
    29. }else{
    30. map.put(str,1);
    31. }
    32. }
    33. List<Map.Entry<String,Integer>> list = new ArrayList(map.entrySet());
    34. Collections.sort(list,(o1,o2) -> (o2.getValue() - o1.getValue()));
    35. if(list.size()>0){
    36. result = list.get(0).getKey();
    37. }
    38. return result;
    39. }
    40. }

    3、题目名称:收件邮箱

    已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用 的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)

    输入:dotdotaaatssatdotat

    输出:dot.aa@ssat.at

    1. import java.util.Scanner;
    2. public class KsTest3 {
    3. public static void main(String[] args) {
    4. Scanner scan = new Scanner(System.in);
    5. String str_0 = scan.nextLine().trim();
    6. String str = str_0;
    7. scan.close();
    8. String result = solution(str);
    9. System.out.println(result);
    10. }
    11. public static String solution(String str){
    12. String result = "";
    13. // TODO: 请在此编写代码
    14. String firstStr=str.substring(0,1);
    15. String lastStr=str.substring(str.length()-1,str.length());
    16. String string=str.substring(1,str.length()-1);
    17. string = string.replace("dot",".").replaceFirst("at","@");
    18. result = firstStr + string + lastStr;
    19. return result;
    20. }
    21. }

    4、题目名称:最长递增的区间长度

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

    无须数组取值:-1e9<=n<=1e9

    输入:6
            5 2 3 8 1 9
    输出:3

    1. import java.util.ArrayList;
    2. import java.util.Scanner;
    3. public class KsTest4 {
    4. public static void main(String[] args) {
    5. Scanner scan = new Scanner(System.in);
    6. String str_0 = scan.nextLine().trim();
    7. int n = Integer.parseInt(str_0);
    8. String str_1 = scan.nextLine();
    9. String[] line_list_1 = str_1.trim().split(" ");
    10. ArrayList<Integer> arr = new ArrayList<>();
    11. for(int i = 0; i < line_list_1.length; i++){
    12. arr.add(Integer.parseInt(line_list_1[i]));
    13. }
    14. scan.close();
    15. int result = solution(n, arr);
    16. System.out.println(result);
    17. }
    18. public static int solution(int n, ArrayList<Integer> arr){
    19. int result = 0;
    20. // TODO: 请在此编写代码
    21. int num = 0;
    22. String flg="";
    23. if (n>1) {
    24. for(int i=1;i<n;i++){
    25. int j = i-1;
    26. Integer before = arr.get(j);
    27. Integer after = arr.get(i);
    28. if(before < after){
    29. num++;
    30. flg="if";
    31. }else{
    32. num = num +1;
    33. if(num>result){
    34. result = num;
    35. }
    36. num = 0;
    37. flg="else";
    38. }
    39. }
    40. if("if".equals(flg)){
    41. num = num + 1;
    42. if(num>result){
    43. result = num;
    44. }
    45. }
    46. }else {
    47. result = 1;
    48. }
    49. return result;
    50. }
    51. }

    比赛就是要争分夺秒!!加油!!!!

  • 相关阅读:
    安装linux子系统以及配置环境
    iphone视频照片恢复
    教你几招,轻松实现视频转音频
    操作系统【OS】线程的分类
    智云通CRM:客户对现有产品不太满意,如何让其接受?
    Geoserver发布shp、tiff、瓦片等格式的GIS数据
    提高工程效率的快部署方案
    软件工程课件
    【机器学习】VAE变分自编码器学习笔记
    java:接口、lambda表达式与内部类
  • 原文地址:https://blog.csdn.net/weixin_42472027/article/details/126922451