自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 问答 (5)
  • 收藏
  • 关注

原创 每天一道算法题-2的幂【备战蓝桥】2022/3/26

2的幂【备战蓝桥】2022/3/24思路方法一:代码:方法二:代码:原题链接:2的幂思路本题难度较低,但会引入位运算方法一:如果这个数小于等于0,直接返回false如果这个数是偶数,除以2;一直循环,直到这个数变成奇数检查这个数最后是不是1,如果是1说明这个数原来是2的幂,如果不是说明不是还有类似的方法,如果这个数小于等于0,直接返回false给1乘以2,循环,直到结果大于或者等于n若等于,说明n是2的幂,若大于说明不是这俩种方法一个做的是除法,一个做的是乘法代码:cl

2022-03-30 17:58:34 228

原创 蓝桥杯2019年真题演练——1、 平方和(JavaA组)

题目描述答案:2658417853题目解析⭐⭐题目比较简单,解法有很多,不过有个要注意的,最后的结果很大,int是装不下的。代码contains(String s) 判断当前字符串中是否包含字串spublic class Main { public static void main(String[] args) { long sum=0; for(int i=1;i<=2019;i++) { String s=""+i;//将数字转化为字符串 if(s.conta

2022-02-27 14:16:44 261

原创 蓝桥杯2020年真题演练——7、回文日期(JavaA组)

上一题:蓝桥杯2020年真题演练——6、成绩分析(JavaA组)题目描述解析⭐⭐依次从输入的日期开始遍历直到99999999(8个9),当然既然已知这串数字代表日期,那么遍历到99991231就可以了,日期最大就是1231嘛,不过这些都是些无关紧要的,影响不大,不需要把精力放到这里。对每一个遍历对象首先检查其日期合法性,如果它是一个日期,再进一步检查它是否是回文日期,是否是ABABBABA日期。注意:我们在遍历的时候要从输入日期的下一个日期开始(因为题目要求的是下一个回文日期)⭐⭐代码中频繁用到

2022-02-17 23:00:56 7848

原创 你还在靠玄学写递归吗?

文章目录前言一、什么是递归?二、如何用递归解决实际问题方法总结1.使用递归打印i~j2.求n的阶乘3.用递归实现用辗转相除法求最大公约数三、递归基础例题1、用递归求数组中元素的和2、用递归实现字符串反转3、斐波那契数列4、用递归实现插入排序测试前边所有的例题(7个),包含主方法,可以直接运行四、递归经典例题1、汉诺塔(1)文字打印圆盘移动过程(2)用容器ArryList真实模拟汉诺塔2、用递归实现二分查找五、总结前言⭐⭐许多人对递归不成体系,没有方法论,**每次写递归算法 ,都是靠玄学来写代码**

2022-02-16 22:05:36 303

原创 Canvas制作经典贪吃蛇

Canvas制作贪吃蛇小游戏

2022-06-19 20:48:44 663

原创 Java格式化输出(包括对printf,print,println,format等的介绍)

目录Java控制台输出1.使用System.out.write方法输出2 使用System.out.println方法输出3 使用System.out.print方法输出4 System.out.printf格式化输出详细介绍Java控制台输出1.使用System.out.write方法输出向控制台输出信息可以用输出流的write方法只是使用上没有print和println那么方便。实际上print和println方法也是对write的封装最终也是调用write向控制台写出的数据。使用write时

2022-04-20 23:49:58 22765 7

原创 每天一道算法题-4的幂【备战蓝桥】2022/3/27

目录题目描述思路方法一 暴力代码方法二 打表代码方法三 位运算代码题目描述原题链接:4的幂思路方法一 暴力1、从头开始计算,每次乘以4,直到变量的值大于等于4,2、如果等于4返回true,否则返回false;显然超时了…代码class Solution { public boolean isPowerOfFour(int n) { if(n<=0) return false; int i=1; while(i<n){

2022-03-31 11:38:52 288

原创 每天一道算法题 A-B【备战蓝桥】2022/3/25

每天一道算法题 A-B【备战蓝桥】2022/3/25题目描述思路方法一方法二代码原题链接:A-B题目描述思路方法一双重循环,暴力求解import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner scan=new Scanner(System.in); String A= scan.nextLine(); Str

2022-03-29 23:59:23 592 2

原创 每天一道算法题-它是正方形吗【备战蓝桥】2022/3/24

每天一道算法题-它是正方形吗【备战蓝桥】2022/3/24题目描述思路方法一:代码:方法二:代码:原题链接:它是正方形吗题目描述思路难度不大,但以下进行了比较深的分析,有助于解决其它同类型的题目方法一:枚举所有排列,共A44=24种情况,对每种情况,先检测它各边是否相等,若都相等,再进一步检测对角线是否相等,若相等则是正方形。补充:俩点间距离公式计算边长,且实际上是使用边长的平方来比较的代码:import java.util.Scanner;public class Main{

2022-03-28 21:18:25 226

原创 每天一道算法题-打印蛋糕【备战蓝桥】2022/3/23

每天一道算法题-打印蛋糕【备战蓝桥】2022/3/27题目描述思路代码实现原题链接:打印蛋糕题目描述思路这个题比较简单,但刷题应力求把简单题刷精,在简单题中找到难题的影子。使用集合接收多组数据利用每组数据生成对应层数的“蛋糕”生成时注意每层蛋糕中,层数、字符数目、空格数目的对应关系,即可轻松通过注意:不要输出多余的空格,如每行字符后是没有空格的,否则答案不合法。有其它问题可以在评论区交流。代码实现import java.util.ArrayList;import java.

2022-03-27 20:46:37 264

原创 每天一道算法题-打印沙漏【备战蓝桥】2022/3/22

每天一道算法题-打印沙漏【备战蓝桥】2022/3/27题目描述思路代码实现原题链接:打印沙漏题目描述思路这个题比较简单,但刷题应力求把简单题刷精,在简单题中找到难题的影子。接收数据包括字符数目和字符;java接收字符可以通过接受下一个字符串的第一个字符实现,即:char ch=scan.next().charAt(0)第一步要确定在给定的字符数目下,我们能画出的最大沙漏需要多少个字符,一个for循环搞定,循环结束后一定检查一下得到的结果是不是想要的值for循环画出漏斗。第二部分中得到了i

2022-03-27 13:46:09 707

原创 每天一道算法题——单词处理器(2022/3/21)

原题链接:单词处理器⭐⭐题目描述:⭐⭐输入输出格式:⭐⭐代码import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int k=scan.nextInt(); String[] list=new

2022-03-21 21:09:40 191

原创 2019-2021届蓝桥杯——java真题集锦

⭐个人主页:一只快乐的猪猪????????写作风格:简洁明了,只写干货????✍写作领域:蓝桥真题,力扣题,刷题技巧 ????????支持猪猪:点赞+收藏+关注????蓝桥杯简单介绍蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心举办的全国性IT学科赛事。共有北京大学、清华大学、上海交通大学等全国1200余所高校参赛,累计参赛人数超过40万人。2020年,蓝桥杯大赛被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目..

2022-03-13 18:01:34 2423 2

原创 广度优先搜索专题(bfs)

⭐个人主页:一只快乐的猪猪🐷🌙写作风格:简洁明了,只写干货🍚✍写作领域:蓝桥,力扣,刷题技巧 👌😍支持猪猪:点赞+收藏+关注😝BFS1、按照层次顺序一层一层的往下搜索(不过通常不用搜索完所有的情况就可以得到答案)2、层次遍历需要用到队列模板:void BFS(int s){ Deque<Integer> que=new LinkedList<>(); que.offer(s); while(!q.empty()) { .

2022-03-07 20:14:42 173

原创 蓝桥杯2017年第八届真题-青蛙跳杯子

题目描述询问至少需要几步,才能跳成另一个目标局面?样例输入:⭐WWBBWWBB⭐输出:2解题思路:1.BFS遍历所有状态,储存状态及其对应的步数;2.发现和结果吻合则退出。注意事项:1.使用字典存储某一状态和对应步数,便于查找重复状态,降低时间复杂度;2.不要使用列表存储状态,因为列表不能作为字典键值,而应用字符串;3.“跳杯”的过程可以用列表实现。import java.util.*;public class Main { public static

2022-03-07 17:54:07 201

原创 蓝桥杯2019年真题演练——4、 迷宫(JavaA组)

题目描述迷宫:01010101001011001001010110010110100100001000101010000010001000001010100100001000000010011001101001010111101101001000100000110100101110001100000001000001000000001010100011010000101000001010101011001011000111110000001010000100101000101000001011

2022-03-07 14:05:02 569

原创 寻找矩阵中“块“的个数(BFS)

题目描述给出一个mxn的矩阵,矩阵中的元素为0或1。称位置(x,y)与其上下左右四个位置(x,y+1)、(x,y-1)、(x+1,y)、(x-1,y)是相邻的。如果矩阵中有若干个1是相邻的(不必两两相邻),那么称这些1构成了一个“块”。求给定的矩阵中“块”的个数。【输入样例】6 70 1 1 1 0 0 10 0 1 0 0 0 00 0 0 0 1 0 00 0 0 1 1 1 01 1 1 0 1 0 01 1 1 1 0 0 0【输出样例】4解题思路⭐⭐用广度优先搜索来遍历一

2022-03-07 09:39:09 330

原创 蓝桥杯2019年真题演练——2、 数列求值(JavaA组)

题目描述题目解析⭐⭐这个题类似于斐波那契额数列,只不过这里要相加的是前三项的和。在前边的你还在靠玄学写递归吗?中就见到了斐波那契数列的递归求法,但是这个题,首先排除递归!,复杂度太高了,结果根本出不来,所以只能考虑迭代。⭐⭐提示千位一定不是0,这就减轻了一定的工作量,不然当把后四位数作为一个整数输出时,如果首位是0,就自动省略了。解题思路🌙...

2022-02-27 14:38:15 260

原创 蓝桥杯2021年真题演练——7、 左hai子右兄弟(JavaA组)

左孩子右兄弟可以这样做:

2022-02-26 21:44:20 1396 3

原创 蓝桥杯2020年真题演练——8、字串分值(JavaA组)

上一题:蓝桥杯2020年真题演练——7、回文日期(JavaA组)题目描述解析方法一:暴力枚举⭐⭐对于这道题,最直观的想法就是双重循环枚举所有字串,然后依次计算字串的f(“字串”),而f的计算也不困难,创建一个数组统计字符串中各字母出现的次数,再统计次数为1的字母的个数即是f的值。这种方法思路简单,容易实现,但有一个致命缺陷,时间复杂度太大!,根本无法通过所有的评测用例,甚至一半都通不过,不过没有别的办法的话,这种方法也能得一些分。代码实现双重循环枚举字串,这里要注意我们不需要真的new一个

2022-02-18 23:45:14 531

原创 蓝桥杯2020年真题演练——6、成绩分析(JavaA组)

题目描述题目解析⭐⭐这个题太简单了,直接上代码了。不过要注意保留俩位小数关于java中printf的具体规范可以看这里:Java中printf的用法总结代码public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int min=100;

2022-02-16 18:36:28 429

转载 Java中printf的用法总结

printf的格式控制的完整格式:% - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。 ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short

2022-02-16 18:34:59 6566

原创 蓝桥杯2020年真题演练——4、七段码(JavaA组)

上一题:蓝桥杯2020年真题演练——3、蛇形填数(JavaA组)题目描述题目解析⭐⭐把七个发光二极管看作七个顶点,是否相邻视作是否有边,则该问题就转化为一个和图相关的问题了。转化结果如图:⭐则题中所要求的发光管必须连成一片对应在图中就是相关的顶点必须是连通的,这样我们就可以通过图的搜索来检查发光灯管是否连成一片。⭐另外七个灯管一共有27种不同的情况,依次枚举检查是否符合条件即可。源代码import java.util.*;public class Main { private

2022-02-16 18:23:32 434 2

原创 蓝桥杯2020年真题演练——3、蛇形填数(JavaA组)

题目描述答案: 761题目解析⭐⭐这个题官方给出的答案是通过模拟这个蛇形矩阵来得到答案,这是一种方法,但比较考验编程能力和细心程度,比较容易出错,何况是在赛场上,这种方式太过浪费时间。实际上简单分析一下就可以找到其中的规律,最后完全可以把它当作一个高中的简单数列问题,一会儿就算出答案了。当然后边我也会给出模拟矩阵的代码。????先看一下简单解法⭐我们把这个三角形旋转一下⭐原题中所说的第i行第i列其实就是1,5,13……这些数,对应的旋转后的这个图中就是第1,3,5,7…n行,可得出:n=2i

2022-02-15 13:52:53 454

原创 蓝桥杯2020年真题演练——2、既约分数(JavaA组)

题目描述答案:2481215题目解析⭐⭐又是暴力枚举,直接双重循环,i,j分别作为分子和分母,把所有的情况都检查一遍,符合条件的进行统计就可以了。所以关键是如何判断它是一个既约分数,这里用到辗转相除法求最大公约数,如果分子分母的最大公约数是1,它就是既约分数,否则不是。代码解析public class Main { public static void main(String[] args) { int count=0; for (int i = 1; i

2022-02-15 13:09:55 241

原创 蓝桥杯2020年真题演练——1、门牌制作(JavaA组)

蓝桥杯2020年真题演练——1、门牌制作(JavaA组)

2022-02-15 12:57:29 529

原创 蓝桥杯2021年真题演练——6、最小砝码(JavaA组)

题目描述题目解析⭐⭐这个题其实就是所谓的德•梅齐里亚克的砝码问题,解决这个题需要用到平衡三进制的相关知识。????在看这个问题之前先看一个简化版的问题:对原题目进行限制,让砝码只能放到物品的对侧而不是俩边都放,问至少需要多少个砝码?⭐思路:将题目转化为数学问题也就是:给一个整数N,要求能够用最少的一套数字(对应一套砝码)通过加法(也就是放到物品对侧)得到1~N的所有数字。这一套数字(砝码)每一个只能用一次,也可以不用。例如:给一个整数7,我们选的一套砝码是{1,2,4}因为:1=1;2=2;

2022-02-11 16:16:30 5098 4

原创 蓝桥杯2021年真题演练——4、路径(JavaA组)

题目大意答案:10266837解题思路⭐⭐数据结构学好了,这个题就没有任何问题,否则还是直接放弃吧????首先要把这个图按规则存储起来,我们一般都用邻接矩阵,而且因为是无向图,所以这个矩阵是对称的。????过程中还涉及到求最小公倍数,这里我们需要知道:对于俩个数n和m,他们的最小公倍数是lcm,最大公约数是gcd,则有:n×m=gcd×lcm 所以可以先通过辗转相除法求最大公约数,进一步求最小公倍数。????图存好后可以直接使用迪杰斯特拉算法或者佛洛依德算法求最短路径代码解析⭐迪杰斯特拉算

2022-02-10 18:59:05 876

原创 蓝桥杯2021年真题演练——3、货物摆放(JavaA组)

题目大意简单点描述就是给定一个 n,n=2021041820210418,问满足 (a,b,c)=n的(a,b,c)组合有多少种。答案:2430解题思路⭐⭐首先要明确a,b,c这三个数一定都是n的因数,因为a×b×c=n,把b×c看作一个数即a×(b×c)=n,那么a就是n的一个因数,同理b和c也是n的因数。那么只要求出n的所有因数,然后依次枚举(a,b,c)即可。????不要忽略n是long型,设置循环变量时也要考虑需不需要用long。????着重考虑一下如何求n的所有因数,由于n数字过大

2022-02-06 13:35:47 4292 2

原创 蓝桥杯2021年真题演练——2、直线(JavaA组)

蓝桥杯2021年真题演练——1、直线(JavaA组)题目大意本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。⭐⭐在平面直角坐标系中,两点可以确定一条直线。⭐⭐给定平面上 20 × 21​ 个整点 {(x, y)|0 ≤ x < 20, 0 ≤ y < 21, x ∈ Z, y ∈ Z}​,即横坐标是 0到 19​ (包含 0​ 和 19​) 之间的整数、纵坐标是 0​ 到 20​ (包含 0​ 和 20​​) 之 间的整数的点。请问这些点一共确定了多少条不同

2022-02-06 13:03:31 6587 6

原创 蓝桥杯2021年真题演练——1、相乘(JavaA组)

蓝桥杯2021年真题演练——1、相乘(JavaA组)题目大意本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。⭐⭐求 1 到 1000000007 中是否存在数乘 2021 除以 1000000007 余 999999999 的数。​若有输出这个数,没有则输出0。解题思路这题考验最基础的循环,直接从 11 到 1000000007 跑个循环,对每个数乘 2021 并且判断余数是否是999999999 即可。​代码public class Main { pub

2022-01-25 23:13:38 916

原创 排序——希尔排序(Shell‘s Sort)

上一篇:排序——插入排序(Insertion sort)

2022-01-22 22:42:01 592

原创 排序——插入排序(Insertion sort)

插入排序的核心思想就是采用插入的方式,对无序数列进行排序。过程演示:动图演示:这篇文章中有一个例题用递归实现了插入排序:关于递归我想说的那些事代码实现:public class 插入排序 { public static void main(String[] args) { int a[]={45,12,89,56,23,45,789,1}; for(int i=0;i<a.length;i++){ System.out.pr

2022-01-19 10:53:09 867 2

原创 用一条语句判断一个整数是不是2的整数次方

玩转位运算-经典例题2题目用一条语句判断一个正整数是不是2的整数次方解析有了前面的基础,这道题目就太简单了!如果一个整数是2的整数次方,那么它在二进制表示下一定只包含一个“1”。利用这个特点,把给出的数,消除掉一个“1”后,看它是否等于0,若等于说明它是2的整数次方,若不等于则不是。代码public class testdemo { public static void main(String[] args) { Scanner scan=new Scanner(Syst

2022-01-11 17:03:52 426

原创 玩转位运算-经典例题2

玩转位运算-经典例题1????题目描述:给定一个整数判断其对应二进制表示下,一共有多少个“1”?例如:给定一个整数9,转化为二进制为1001,一共包含2个1;给定一个整数8,转化为二进制为0111,一共包含3个1;这里直接给出三种解法解法一思路:对于一个二进制数,用1和该二进制数上的各位进行与运算,可以判断各位上的数字是1还是0位置4321二进制数1001位置一:1&1=1位置二:1&0=0位置三:1&0=0位置四:1

2022-01-11 16:39:39 132

原创 玩转位运算-经典例题1(续)

看这篇前先看看上一题-位运算经典例题1

2022-01-10 22:57:44 261

原创 玩转位运算-经典例题1

题目1-1000这一千个数放在含有1001个元素的数组中,只有唯一的一个元素重复,其它均只出现依次。设计一个算法,将它找出来。要求:每个数组元素只能访问一次不用辅助存储空间

2022-01-10 16:49:28 417

原创 JDK帮助文档(中文版)

什么是JDK帮助文档?JDK帮助文档(又叫API),在其中我们可以获取JDK到底给了我们哪些可以使用的类和方法获取帮助文档我分享了JDK16的帮助文档,可以免费获取,下载即用,而且是中文版,看着更方便些JDK16百度云提取码:ug2b如果有人想要其它版本的可以评论区留言,我去找你(如果能点个攒我就更开心了????)使用步骤1.双击下载好的jdk帮助文档2.打开后,点击显示3.输入想要查询的类,比如说这里查询String4.回车后点显示5.就到达String类的介绍页面了

2022-01-04 17:19:23 27550 36

原创 IDEA常用快捷键

ctrl+shift+F10 运行ctrl+/ 单行注释ctrl+shift+/ 多行注释ctrl+alt+space 内容提示/代码补全输入psvm后按回车 快速生成mian方法输入sout后按回车 快速生成输出语句

2021-12-28 12:32:55 178

原创 VSCode编写java文件时编译出错

如果用VSCode编写java文件,并在Windows下用cmd窗口用javac编译java文件的时候就会出现编码问题。因为windows操作系统默认的编码是GBK,而VSCode的默认编码是UTF-8通过点击箭头指向的地方可以修改VSCode的编码方式,改为GBK就可以在命令行窗口运行了...

2021-12-27 17:14:21 1004

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除