自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 责任链模式

/请求 import java . util . Objects;} }//请求 import java . util . Objects;} }Objects;@Override//请求类型//请求处理者//指挥官@Override@Overridereturn 2;@Override@Override//军官@Override@Overridereturn 3;@Override。

2024-02-02 22:51:48 1301

原创 桥接模式解析

回调设计模式意图回调是指一段可以执行的代码,该代码会被作为参数传递给其他代码,在适当的时候,预期这部分代码将会被调用执行。解释案例:我们需要在执行完任务后得到通知。为此,我们会向执行器传递一个回调方法,并等待执行器在任务完成后调用这个回调方法通知我们。简单说: 回调是一种传递给执行器的方法,它将在特定时刻被调用。样例//回调函数public interface Callback { void call();}//任务 import java.util.

2024-02-01 18:51:36 657

原创 构造器模式

【代码】构造器模式。

2024-01-29 01:19:28 852

原创 桥接模式解析

桥接模式解析。

2024-01-27 21:14:30 950

原创 Mysql安装

【代码】Mysql安装。

2024-01-27 01:03:57 381

原创 算法进阶-搜索

算法进阶-搜索题目描述:给定一张N个点M条边的有向无环图,分别统计从每个点除法能够到达的点的数量**数据规模:**1 <= n <= 3e4**分析:**这里我们可以使用拓扑排序根据入边对所有点进行排序,排序后我们按照逆序,结合状态压缩将相连接的点存入bitset中(使用或操作),最后我们从1开始到n返回二进制中1的个数,即是可到达点的个数。这里只要是这两个点相连接,后一个点就和前一个点的所有位置进行或运算题解: 见分析TIPS:java中集成有BitSet,set是将对应位置设为

2023-10-10 16:23:17 187

原创 结构体运算符重载

【代码】结构体运算符重载。

2023-10-02 00:47:30 202

原创 力扣-并查集

通过使用不同的按秩合并,可以知道节点的个数,和树的高度,增加一个变量n则可以知道进行了多少次连接操作.根据根节点的个数(根节点指向自己)可以求出分组的个数。

2023-06-26 14:25:00 476

原创 力扣-拓扑排序

在图论中,**拓扑排序(Topological Sorting)**是一个有向无环图的所有顶点的线性序列,且该序列满足下面两个条件:除了可以对有向无环图进行排序外,还可以看是不是排序的结果只有一种可能即是否存在分支,可以通过每次循环判断队列的长度来实现。

2023-06-26 14:24:01 533

原创 力扣-图论

迪杰斯特拉算法,我们使用优先队列对权值进行排序,优先弹出权值小的,使用weight数组存储从头结点到该位置的最小花费,我们对已访问的位置进行标记,然后我们判断当前路径的权值是否比之前路径的权值小,若是我们更新该路径,并将该点的坐标与路径的权值加入队列中,若当前点的位置为尾结点就终止,并返回尾结点,这里因为是排序过后的能确保体力消耗最小的路径就是该路径。​ 若没找到,且与其相连的点未曾访问过,就加入队列中,并标记为已访问,继续。​ 每次都获取当前队首的元素,并遍历其所有的边,找到与其相连的点,若该点就是。

2023-06-26 14:21:08 1396

原创 力扣-线段树

本题同样可以用线段树来处理,这里比较特殊的地方在于query的时候要返回整个区间的最小值,因此在向上推的时候要返回最小值或者是布尔值,在下推的时候要根据懒惰标记对,左右孩子节点的cover和懒惰标记进行更新,这里很关键。: 区间查询的问题我们可以用线段树来实现,这里我们先看线段树当前区间是否已被填充,即返回值是否不为0,若是,则返回false,否则我们对当前区间进行填充,默认填充1,然后返回true。: 区间问题可以考虑用线段树来实现,要注意这里因为是求次数,所以要求对应区间的和,这个很重要。

2023-06-26 14:20:31 411

原创 力扣-最短路

Floyd算法虽然能处理负权边但是不能解决带有“负权回路”(负权环),因为带有负权回路的图没有最短路径,因为总能找到比当前最小值更小的路径。因此最大路径也就不存在。

2023-06-26 14:19:14 951

原创 蓝桥杯备赛-数论

埃氏筛,从2开始素数的倍数肯定是合数,所以这里从2开始每次判断nums[i]是否为0,若为0,则计数器+1,并且在i * i < n的基础上,将从i * i 到n - 1中是i的倍数的全置为1,代表这些数都是合数,最后返回count即可。**分析:**分析题目容易发现,除了(1, 0), (0, 1)和(1, 1)这三个钉子以外,一个钉子(x, y)能被看到,当且仅当 1 <= x, y <= N, x!**分析:**朴素的枚举法肯定不可行,这里可以从数学的角度进行思考。这里l和r有以下几种取法。

2023-06-26 13:57:40 569

原创 蓝桥杯总结

今天学习到了两种特殊的数据结构哈希表的链表型实现和哈希集合的链表型实现,这两种实现使哈希表和哈希集合有了顺序,先插入的在前,后插入的在后,在之前的学习中散列表是无序的,通过今天的学习很好的补充了有序这一块。复习了数据结构deque这种数据结构既能当栈用又能队列使用,而且可以用数组实现和用链表实现两种方式,非常的便捷心得体会做题第一步是要先把题目先看懂,然后看数据的规模,估计出需要什么样的时间复杂度才能完美通过评测,然后设计出合适的算法,若没有思路,就寻求模拟-暴力的算法来解决,算法尽可能要用到对应的

2023-06-26 13:31:24 540

原创 电影售票系统遇到的问题

开发电影商城所遇到的问题与解决方案

2022-10-31 14:03:23 682 1

原创 剑指Offer

整数除法剑指 Offer II 001.二进制解法: public int divide(int a, int b) { //特判 if(a == Integer.MIN_VALUE && b == -1) return Integer.MAX_VALUE; //当a和b异号时输出负数 int sign = ((a > 0) ^ (b > 0)) ? -1 : 1; //结果 int rst = 0; //将a,b都

2021-10-26 13:08:28 132

原创 字符串和字符数组之间的转换

package com_04_21;import java.util.Arrays;//字符串与数组之间的转换public class Demo03 { public static void main(String[] args) { char[] chars = "Java1200".toCharArray(); //将字符子串复制到指定数组的相应位置 "CS3720".getChars(2,6,chars,4); Syst

2021-04-21 22:35:49 205

原创 正则表达式

package com_04_21;//正则表达式(regular expression)public class Demo01 { public static void main(String[] args) { //从String类中的matches方法开始。乍一看,matches方法和equals方法非常相似。 System.out.println("Java".matches("Java")); System.out.println( "J

2021-04-21 22:34:42 64

原创 后缀表达式

题目描述给定 N 个加号、M 个减号以及 N + M + 1 个整数 A1,A2,··· ,AN+M+1,小 明想知道在所有由这 N 个加号、M 个减号以及 N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的。【输入格式】第一行包含两个整数 N 和 M。 第二行包含 N + M + 1 个整数 A1,A2,··· ,AN+M+1。【输出格式】输出一个整数,代表答

2021-03-24 22:57:49 85

原创 人物相关性分析

题目描述小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob 有多少次同时出现。更准确的说,小明定义 Alice 和 Bob“同时出现”的意思是:在小说文本 中 Alice 和 Bob 之间不超过 K 个字符。例如以下文本:20 This is a story about Alice and Bob.Alice wantsto send aprivate message to Bob.假设 K = 20,则 Alice 和 Bob 同时出现了 2 次,分别是”Alice

2021-03-24 21:11:50 315

原创 饱了么外卖

题目描述“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,则会被清除出优先缓存。给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中。【输入格式】第一行包含 3 个

2021-03-23 16:48:50 732

原创 校内模拟题2

1、【问题描述】请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。package compus_test_02;//请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制。//这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法

2021-03-18 22:58:35 99

原创 ArrayList列表

package Demo03_18;import java.util.ArrayList;//ArrayList类//现在,我们来介绍一个很有用的用于存储对象的类。可以创建一个数组存储对象,但是这个数组一旦创建,它的大小就固定了。//Java提供提供了ArrayList类,可以用来存储不限定个数的对象//ArrayList是一种泛型类,具有一个泛型类型E。创建一个ArrayList时,可以指定一个具体的类型来替换E。public class Demo_01 { //ArrayList&lt

2021-03-18 21:51:33 122

原创 StringBuilder和StringBuffer

//StringBuilder/StringBuffer类。StringBuilder/StringBuffer类比String类更加灵活。可以给一个StringBuilder或StringBuffer中添加、插入或追加新的内容,//但是String类一旦创建它的值也就确定了。//StringBuffer类中修改缓冲区的方法是同步的,这意味着只有一个任务是被允许执行该方法,除此之外,StringBuilder类与StringBuffer类是很相似的。如果是多任务并发访问空间,就使用StringBuffe

2021-03-16 17:34:07 142 3

原创 校内模拟赛

1、请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍package compus_test;// question 1//请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍public class Demo_01 { public static void main(String[] args) { int count = 0; for (int i = 1; i < 2021; i++) { if (i % 4 ==

2021-03-14 10:56:50 195

原创 未名湖畔的烦恼

租自行车春天到了,某公园租自行车的生意火爆,上午自行车就会全部租完,到了中午的时候,租车窗口排起了长龙,假设还车的有r个人,租车的有b个人。现在的问题是,这些人有多少种排法,可以避免出现无车可租的情况。输入格式  两个整数,表示r和b输出格式  一个整数,表示队伍的排法的方案数。样例输入2 3样例输出0样例输入3 2样例输出5数据规模和约定r,b∈[0,16]测试集1系统输入:16 16预期输出:35357670测试集2系统输入:16 14预期输出:2566282

2021-03-12 20:25:15 74

原创 矩阵中的21

矩阵中的21在下面的矩阵中共有10个2,以每个2开头往水平或垂直或斜向共有8个方向可以组成8种不同的数字序列,其中有些数列的前n个数相加等于21,在下面的矩阵中共有8个这样的数列。9 8 7 9 9 7 9 6 5 38 7 2 5 6 6 2 5 5 44 9 2 9 1 5 1 6 3 55 7 9 5 9 1 1 7 5 13 2 4 3 4 2 7 1 2 78 8 9 7 7 2 9 4 9 35 9 3 6 9 8 3 9 5 67 3 4 7 9 7 5 7 8 77 .

2021-03-08 21:55:40 216 1

原创 基因序列

基因序列可以由A,G,C,U四个字母组成的序列表示,某科学家想通过向给定的基因序列中插入字母使得序列前后对称来进行研究你的任务是:给定一个基因序列,计算一下要插入多少个字母才能使得序列前后对称。输入一行,表示带插入的基因序列(长度不大于1000)要求输出一个正整数,表示至少要插入多少个字母。package the_blue_cup;//密码脱落import java.util.Scanner;public class Demo_12 { public static void main

2021-03-08 16:07:46 1547

原创 字母脱落

X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大于1000)要求输出一个正整数,表示至少脱落了多少个种子。例如,输入:ABCBA则程序应该输出:0再例如,输入:

2021-03-07 15:42:20 138 1

原创 搭积木

小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。package the_blue_cup;//搭积木import java.util.Arrays;public class Demo_10 { public static void main(String[] args) { // TODO Auto-generated method stu

2021-03-07 12:34:24 253 2

原创 第几个幸运数

到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。请你帮小明计算一下,59084709587505是第几个幸运数字。package the_blue_c

2021-03-06 19:40:01 98

原创 字母阵列

字母阵列仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。SLANQIAOZOEXCCGBMOAYWKHIBCCIPLJQSLANQIAORSFWFNYAXIFZVWALCOAIQNAL我们约定: 序列可以水平,垂直,或者是斜向;并且走向不限(实际上就是有一共8种方向)。上图中一共有4个满足要求的串。下面有一个更大的(100x100)的字母方阵。你能算出其中隐藏了多少个“LANQIAO”吗?package the_blue_cup;import

2021-03-06 14:32:56 232 3

原创 猴子分香蕉

猴子分香蕉5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!请计算一

2021-03-05 14:55:11 131 2

原创 哪天返回

哪天返回小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。package the_blue_cup;//哪天返回public class Demo_06 { public static void main(String[] args) { // TODO

2021-03-05 13:25:37 83 2

原创 等腰三角形

等腰三角形本题目要求你在控制台输出一个由数字组成的等腰三角形。具体的步骤是:先用1,2,3,…的自然数拼一个足够长的串用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。比如,当三角形高度是8时: 1 2 1 3 8 4 1 5 7 6 1 7 6891011121314151package the_blue_cup;import java.util.Scanner;

2021-03-05 12:39:48 543 2

原创 6-24

6.24 public static void main(String[] args) { // TODO Auto-generated method stub currentTime(); } public static void currentTime() { //确定当前时间 long totalMilliseconds = System.currentTimeMillis(); long totalSeconds = totalMilliseconds / 100

2021-02-19 23:13:47 48

原创 2021-02-16

import java.util.Scanner;//方法抽象和逐步求精//方法抽象的概念可以应用于程序开发过程中。当编写一个大型程序时,可以使用分治的策略,也称逐步求精,将大问题分解为子问题。子问题又分解成更小更容易处理的问题。//自顶向下的设计//自顶向上方法是从下向上每次实现结构图中的一个方法,对每次实现的方法都写在一个测试程序(称为驱动器) 进行测试 。自顶向下和自底向上都是不错的方法:它们都是渐进的实现方法,这有助于分离程序设计错误,使得测试变得容易//这两种方法可以一起使用publ

2021-02-16 23:49:14 41

原创 2021-01-29

import java.util.Scanner;public class Demo01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("输入Y代表是,输入N代表否"); String character = input.nextLine(); if (character.equals("Y")) { System.o

2021-02-09 00:38:35 40

原创 2021-01-28

public static void main(String[] args) { // TODO Auto-generated method stub char a = '\u0041';//Unicode码 char b = 65;//十进制码 System.out.println(a); System.out.println(b); }}import java.util.Scanner;public class Demo02 { public stati..

2021-02-09 00:36:51 49

原创 2021-01-27

//猜生日public class Demo01 { public static void main(String[] args) { // TODO Auto-generated method stub String set1 = "1 3 5 7" + "9 11 13 15" + "17 19 21 23" + "25 27 29 31"; String set2 = "2 3 6 7" + "10 11 14 15" + "18 19.

2021-02-09 00:36:02 393

空空如也

空空如也

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

TA关注的人

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