
蓝桥杯
文章平均质量分 56
零基础小白备战蓝桥杯的过程
梦森森
这个作者很懒,什么都没留下…
展开
-
BFS迷宫Java模板(附例题)
BFS迷宫问题模板例题1、走迷宫例题2、迷宫总结 需要用到的一些队列知识模板迷宫问题主要使用BFS来做,因为BFS循环得到的第一个答案就是最短路径,下面给出这种走迷宫的模板,像求从起点走到终点所使用的最小步数,或者输出他按照怎么路径走出迷宫的都可以用这个模板下面这个模板写的是最简单的走迷宫,给定一个迷宫,0是障碍物,1是可以行走的,然后问从左上角走到右下角的最小步数。后面的例题也是和最简单的迷宫问题类似,就是又加了其他一些特殊的限制条件。import java.util.Deque;impor原创 2022-03-29 21:37:30 · 1307 阅读 · 0 评论 -
Leetcode791.自定义字符串排序
未使用哈希表的解法题解中很多都使用了哈希表,由于博主哈希表用的不熟,就没有使用哈希表,但整体思路都差不多。本题的题意是根据题中给出的order字符串来对s字符串进行排序,s字符串中出现order字符串之外的其他字符,这些字符可以摆放在任意位置我理解完题意以后发现这个题可以类比选择排序的思想来做,我们把order中出现的字符依照顺序依次看为<最大>、<第二大>。。。等,然后在s字符串中寻找 <最大> 的字符并且将其与起始位置的字符交换,然后起始位置++,继续在剩余原创 2022-03-25 21:37:39 · 6577 阅读 · 0 评论 -
Java全排列模板及例题(dfs)
模板一参考博客package 蓝桥杯;import java.util.Arrays;public class 全排列 { public static void main(String[] args) { perm(new int[]{1,2,3},0,2); } public static void perm(int[] array,int start,int end) { if(start==end) { Sys原创 2022-03-23 20:50:17 · 1671 阅读 · 0 评论 -
Leetcode42 接雨水
看到这个题我的第一反应就是使用暴力+动态规划,从左到右依次确定每个位置左右两边的最高值(leftmax和rightmax),至于怎么确定这里就用到了动态规划: 创建两个数组分别储存leftmax和rightmax(动态规划一般都要创建数组,以空间换时间).leftmax的确定: 令leftmax[0] = height[0],然后从1开始正向遍历数组,通过Math.max(leftmax[i-1],height[i]),依次确定各个位置的leftmax。rightmax同理令rightmax=hei..原创 2022-03-16 17:58:42 · 5502 阅读 · 0 评论 -
动态规划(一)
动态规划步骤1、确定状态(需要考虑到最后一步和子问题)2、转移方程3、确定初始条件和边界情况4、计算顺序class Solution { public int coinChange(int[] coins, int amount) { int[] f= new int[amount+1]; f[0] = 0; for(int i =1; i<=amount ;i++){ f[i] = Integer.MAX_原创 2022-03-12 00:17:35 · 229 阅读 · 1 评论 -
Leetcode2055 蜡烛之间的盘子
思路:看到题目给定一个区间然后要计算区间里盘子里的数目很容易想到前缀和的思想来解决。前缀和是指某序列的前n项和,就像高中学过的数列的前n项和。sum【i】 = a[1]+a[2]+…+a[i] 要求一个数组(数列)中间一段的和,(假设求l->r这一段的和) a[l]+a[l+1]+…+a[r] =s[r] - s[l-1]将这个公式用在此题,我们就只要确定蜡烛的具体位置根据 sum[右] - sum[左-1] 就可以得到盘子的数目所以此题就变为怎样在区间内确定靠近区间两端最近的蜡烛..原创 2022-03-09 19:49:37 · 6686 阅读 · 0 评论 -
2021蓝桥杯 纯质数
import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class 纯质数 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int count = 0; for(int i = 1; i<=20210605; ++i){ i.原创 2022-03-08 22:46:42 · 373 阅读 · 1 评论 -
异或的巧妙应用(附例题)
🙇异或的性质1、a^a=0 任何数字和自己异或结果是02、a^0=a 任何数字和0异或还是他自己3、a^ b = b ^ a 异或运算具有交换律4、a ^(b ^ c) = (a ^ c) ^ b 异或运算具有结合律注意 1、两个数异或又叫不进位相加2、异或在两个数字交换中的应用a = a ^ b;b = a ^ b;a = a ^ b;这样做的优点在交换过程中没有使用额外的内存空间缺点是这种情况并不能适用于所有的情况如果两个要使用交换的两个数字内存地址一致时,会将这两个交换的数字原创 2022-03-06 23:54:12 · 1325 阅读 · 0 评论 -
Leetcode204 计数质数
看到这个题我首先想到的是使用枚举,枚举每一个数并且判断该数是不是素数class Solution { public int countPrimes(int n) { int j=0; if(n<2){ return 0; } else for(int i=2;i<n;i++){ if(isok(i)){ j+=1; }.原创 2022-03-06 11:27:56 · 295 阅读 · 0 评论 -
N皇后问题(Java)
import java.util.Scanner;public class N皇后{ static int N = 0; static int[] x =new int[100]; static int count=0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); nqueen.原创 2022-03-05 22:25:01 · 598 阅读 · 0 评论 -
日期问题 Calendar JAVA
2013年蓝桥杯java A组第一题世纪末的星期曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会…有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!于是,“谣言制造商”又修改为星期日…1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?请回答该年份(只写这个4位整数,不要写12月31等多余信息)使用Java自带的API进.原创 2022-03-02 22:58:09 · 161 阅读 · 0 评论 -
枚举例题 JAVA
枚举1、完美立方2、生理周期3、称硬币4、熄灯问题1、完美立方使用四重循环,枚举全部所有的情况,判断一下即可public class 完美立方 { public static void main(String[] args) { for (int a = 2; a<100; a++){ for (int b = 2; b< a ; b++){ for (int c = b; c < a ; c++原创 2022-03-02 22:57:43 · 1107 阅读 · 3 评论