蓝桥杯题型
月上小楼
12345
展开
-
输入输出遇到的问题
一、Scanner类情景:调用两个方法:nextInt()和nextLine(),第一行输入数字,直接回车,准备输入字符串,发现输入已经结束了。此时涉及到java中Scanner类nextInt之后用nextLine无法读取输入的问题:原因:当我们输入数字的时候,因为nextInt()只会以为空格和回车符结束,但是此时按下了回车,(next()不会读取回车符)但是nextLine()会读取回车符,又因为nextLine()以回车符结束,所以此时直接就跳过了我们输入,程序直接结束了。解决办法:1原创 2021-03-03 13:51:01 · 293 阅读 · 1 评论 -
搜索算法-DFS BFS总结
通过几天的刷题,对dfs和bfs算法有了更深一步的认识,下面来总结一下:一、DFS1.核心一条路走到黑+回溯2.分析针对蓝桥杯历年真题中的剪格子来说:(1)dfs方法的参数:变化的坐标x、y,变化的格子数,变化的数之和。(2)递归出口:当和等于数组和的一半时,将全局变量min更新,回溯。当和大于数组和的一半时,直接回溯。(3)向当前格子的三个方向“探测”:符合条件的标成已访问,避免进行下一次递归时,造成死循环。当前递归完成后,再将其标成未访问,避免影响回溯后其他路径。(4)递归完成原创 2020-08-06 12:00:08 · 338 阅读 · 0 评论 -
快速排序
细节:1.基点是最左边的数时,j指针先移动,从小到大排列2.基点是最右边的数时,i指针先移动,从小到大排列3.如果想降序排列,需要改变的是基点设到最右面,并且使i指针找比基点小的数,j指针找比基点大的数。import java.util.Scanner;public class T7003_QuickSort { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.ne原创 2020-08-05 17:43:59 · 151 阅读 · 0 评论 -
int、double、float与String的转换、进制转换
public static void main(String[] args) {// int->String String a1=Integer.toString(5);//输出5对应的十进制 System.out.println("a1="+a1);//5 String a2=Integer.toString(5,2);//5对应的二进制(十进制转N进制) String a3=Integer.toBinaryString(5); System.out.println("原创 2020-08-04 23:55:22 · 229 阅读 · 0 评论 -
一维前缀和、二维前缀和、一维差分、二维差分
一、一维前缀和import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int m=in.nextInt(); int[] prefix=new int[n+1]; int[] arr=new int[n+1]; for (int i = 1; i <原创 2020-08-04 18:35:20 · 248 阅读 · 0 评论 -
迷宫问题
方法有dfs、bfs,在这里介绍bfs,因为这类问题可能会涉及到求解最短路径的情况。一、分析针对蓝桥杯的某一年真题来分析(竞码上的7053题):迷宫大体上,两个核心:1.通过队列找出最短的路径,并在每个地方标注U、D、L、R四个方向。2.通过ArrayList回溯,将最终结果输出。二、代码实现import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Scan原创 2020-08-04 18:22:41 · 141 阅读 · 0 评论 -
全排列+check检验
通过这几天的刷题,发现蓝桥惯出的一种题型----全排列+check()。也就是在求出所有全排列的结果后,并检查每种结果是否满足题目的条件得出最终答案。一、核心递归式全排列或字典序式全排列二、代码实现1.递归式(未按字典序输出)import java.util.Scanner;public class Permutations { public static void main(String[] args) { Scanner in=new Scanner(System.in); i原创 2020-08-04 18:11:47 · 217 阅读 · 0 评论 -
蓝桥杯题型——日期类问题
一、闰年判断条件static boolean isLeapYear(int year) { boolean tag = false; if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { tag = true; } return tag;}二、求出给定日期是星期几方法一:基姆拉尔森公式y:年m...原创 2020-04-08 09:54:26 · 2270 阅读 · 4 评论