目录

  • 前言
  • 第一题-排序字母
  • 第二题-特殊时间
  • 第三题-纸张尺寸
  • 第四题-求和
  • 第五题-矩形拼接(未解决)
  • 第六题-选数异或
  • 第七题-GCD
  • 第八题-青蛙过河(未解决)
  • 第九题-因数平方和
  • 第十题-最长不下降子序列(未解决)

前言

前些日子也是刚经过考试, 没怎么学过算法, 感觉还有待提高, 此文章是本人对于第十三届蓝桥杯Java-C组考题的解析以及理解, 不一定都对, 有更好提议的同学可以在评论里留出; 那么话不多说 上正菜.

第一题-排序字母


那么,首先看到这道题的时候应该想到与之关联的思路应该是什么, 可以通过将字符串内要排序的字母来放入一个数组进行排序处理, 这块推荐使用Arraysort方法, 其实看名字也可以看出这是一整个写好的排序方法;

package example;import java.util.Arrays;/*** @author OGtwelve* @Description 第十三届蓝桥杯Java-C组第一题 (排序字母)*/
public class HelloWorld {public static void main(String[] argv){String needToBeSortedString = "WHERETHEREISAWILLTHEREISAWAY";//一句谚语: Where there is a will there is a way (有志者事竟成)char[] sortIntoChars = needToBeSortedString.toCharArray();//char类型数组, 由于String类型提供了 .toCharArray()这个方法, 所以可以直接用数组获取Arrays.sort(sortIntoChars);//这块是直接用Arrays数组处理工具直接.sort()方法进行排序for (int i = 0; i < sortIntoChars.length; i++) {//这块循环条件直接使用获取到的char类型数组长度即可System.out.print(sortIntoChars[i]);//输出结果是 AAAEEEEEEHHHIIILLRRRSSTTWWWY}}
}

可能有些同学还对这块直接使用的sort方法不是很了解, 下面则为sort的官方解释以及本人理解;

static void sort(char[] a) 对指定的 任意类型数组按数字升序进行排序 在这里我直接用了char[]数组来代替默认为升序排列
//--------------------------------------------------------
static void sort(char[] a, int begin, int end) 对指定数组的指定范围按数字升序进行排序。 char[]可以指定为int,float,double,long,byte等begin- 排序的第一个元素的下标/索引(包括)end- 排序的最后一个元素的下标/索引(不包括)

第二题-特殊时间


过于简单 不多做赘述 答案为212;

第三题-纸张尺寸


因为这道题是对折, 所以每两次折完后, 原本的长就是宽了, 例如 A0是长1189841, 按题目对折A1为将长度对半拆分宽度不变, 所以这之后折叠完后的大小就变成了(1189/2=)594841, 以此类推;
当然这道题可以按最暴力的实现方法, 直接用switch语句对输入的纸张大小进行判断然后输出对应计算出的大小,输出写个判断, 如果这两个数字中间哪个较大,那么哪个就在输出中排第一位, 较小则否;
不过一般来说, 能写算法还是尽量写成算法, 话不多说 上代码;

package example;import java.util.Scanner;/*** @author OGtwelve* @Description 第十三届蓝桥杯Java-C组第三题 (纸张尺寸)*/
public class HelloWorld {public static void main(String[] argv){Scanner input = new Scanner(System.in);int paperLength = 1189;//长度int paperWeight = 841;//宽度int tempNum = 0; //临时存储被修改的宽度int numberWithoutA = Integer.parseInt(input.next().replace("A","").replace("a",""));//将输入的纸张大小 A 去除进行再次判断input.close();if (numberWithoutA<=9){if (numberWithoutA!=0){ //不能等于0是因为长宽的默认值就是A0大小的属性for (int i = 1; i <=9; i++){tempNum = paperWeight;  //先将宽度存入临时数字内paperWeight = paperLength/2;  //再将折叠后(即为除以2)的长度赋值给宽度paperLength = tempNum;  //最后将折叠前的宽度返还给长度if (i==numberWithoutA){ //这样判断是为了能让循环在输入的纸张大小号处跳出break;}}}System.out.println(paperLength + "\n" + paperWeight);}else{System.out.println("请输入A0-A9");}}
}

第四题-求和


这是一道比较典型的递推类型的题目;
直接通过看输入以及输出样式, 输入第一行为输入第二行的个数, 输入的第二行则是四个单独的数字;
结果的流程在本题内为1*3 + 1*6 + 1*9 + 3*6 + 3*9 + 6*9 = 117或者1*(3+6+9) + 3*(6+9) + 6*(9) = 117那么这样列出来的话, 就很容易的找到规律.
那么具体的流程是这样, 话不多说 上代码.

package example;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;/*** @author OGtwelve* @Description 第十三届蓝桥杯Java-C组第四题 (求和)*/
public class HelloWorld {public static void main(String[] argv) throws IOException {int num = streamTokenizer(), sum = 0, l1, l2=0;while (num-- > 0){l1 = streamTokenizer();l2 += l1 * sum;sum += l1;}System.out.println(l2);}public static int streamTokenizer() throws IOException {StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));//这块输入可以用Scanner写 不过时间可能会超时//BufferedReader在相同时间内是以一整块内存去读取内容的 要比一个一个读取快的多in.nextToken();return (int)in.nval;}
}

第五题-矩形拼接(未解决)



我直接不会写

第十三届蓝桥杯Java-C组2022年考题个人解析相关推荐

  1. 2022年第十三届蓝桥杯Java B组第三题:字符统计

    2022年第十三届蓝桥杯Java B组第三题:字符统计

  2. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组国赛真题解析

    前言 省赛真题解析见: 2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版) 2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版) 更多蓝桥杯题解请查阅专栏:蓝桥杯 之前写省赛解析时篇幅过 ...

  3. 2022年第十三届蓝桥杯大赛C组真题C/C++解析(上)

    **今天给大家带来2022年,第十三届蓝桥杯大赛的真题解析** 转眼间,距离考试已经过去很长时间了,今天解元给大家解析一下,有问题欢迎大家指点 :笑: 下面进入正题 前言 填空题 1.排列字母 2.特 ...

  4. 第十三届蓝桥杯Java B组真题

    试题 A: 星期计算 本题总分:5 分 [问题描述] 已知今天是星期六,请问 2022 天后是星期几? 注意用数字 1 到 7 表示星期一到星期日. [答案提交] 这是一道结果填空的题,你只需要算出结 ...

  5. 2022年第十三届蓝桥杯JAVA B组题目

    第一次参加蓝桥杯,感觉一般般,手机没电导致只写了两个半小时就交了(不能重复交哎),没有检查,后面交卷后我还继续写了.静候结果吧,无论有没有拿奖,它促进了我学了很多算法,一两个月前还是只有语法基础的选手 ...

  6. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版)

  7. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(完整版)

  8. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  9. 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  10. 2016年 第07届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

最新文章

  1. Just another Robbery LightOJ - 1079[背包形状的概率dp]
  2. 2.逆向分析Hello World!程序-上
  3. Hive自定义UDF和聚合函数UDAF
  4. 图解排序算法(四)之归并排序
  5. OSPF 多进程实验(1)
  6. Flume性能测试报告
  7. 防火墙未来的技术发展趋势
  8. 搭建SpringBoot服务器,在公司内网中使用
  9. [0630]Tyvj 1063 数字串
  10. 机器学习与数据科学决策树指南
  11. 计蒜客挑战难题:矩阵翻转
  12. 对Python列表进行封装和二次开发实现自定义栈结构
  13. 成都将于1月27日开启数字人民币红包活动
  14. React项目中跨域问题的解决方案
  15. 合伙人和创始人的区别
  16. Hadoop作业性能指标及參数调优实例 (二)Hadoop作业性能调优7个建议
  17. 洛谷2678跳石头----二分答案入门
  18. 局域网交换机(Lan Switch)
  19. OpenCV精进之路(十八):工具——“全能扫描王“扫描软件
  20. 第1节 虚拟机及常用系统配置步骤

热门文章

  1. Linux的基础存储管理
  2. 如何免费体验腾讯云虚拟主机(云服务器)
  3. AWS免费云主机之如何使用putty登录
  4. 由键盘输入正数n,要求输出如下2*n+1行的菱形图案。用c语言实现。
  5. “警视”警务情指一体大屏可视化决策系统
  6. 【翻译】和麻美学姐一起的世界树(マミさんと世界樹スレ)第二话
  7. JSAPI支付——H5网页端调起支付接口
  8. MIT多变量微积分--4.平面方程,线性方程组
  9. HAKE笔记:Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction
  10. selenium webdriver (python)的基本用法一