自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 黑马Java基础笔记-15

无索引,无序,不可重复。

2025-05-24 23:46:50 882

原创 黑马Java基础笔记-14

Java 自起对所有(如int[]double[]等)采用(Dual-Pivot Quicksort),仅当处理的子区间长度 ≤ 47 时回退到以优化小规模性能(这样做能有效减少递归深度和方法调用开销,同时利用插入排序在小规模数据上的低常数因子优势对(如String[]Object[]或带比较器的T[]),则采用Timsort排序算法可以概括成如下几步:1.把待排数组划分成一个个run,当然run不能太短,长度最小阈值为minRun;

2025-05-22 16:49:50 805

原创 黑马Java基础笔记-13常用查找算法

数学表达αnmαmn​,其中nnn为哈希表中当前元素数,mmm为桶的总数或槽位总数。意义:表示哈希表的“填充率”,负载因子高意味着更多的键映射到相同或相邻的位置,冲突概率也随之升高,从而增大查找或插入时的探测或链表长度。再哈希是指在哈希表运行过程中,检测到负载因子α\alphaα达到或超过预设阈值后,动态地创建一个更大的新表(通常容量翻倍),并将旧表中所有元素按照新表大小重新计算哈希并插入新表的过程。这一过程又称“扩容”(resize)或“重散列”,旨在降低α\alphaα。

2025-05-20 19:46:55 651

原创 黑马Java基础笔记-12

表示 805 毫秒(即 805,000,000 纳秒),若存在非零纳秒,会显示完整 9 位(如。类型存储的是从1970年1月1日00:00:00 UTC(而非GMT+8)起经过的。**Duration **: 用于计算两个“时间”间隔(秒,纳秒)时间戳不可变在减少时间系列的方法与增加时间系列的方法中会返回一个。**Period **: 用于计算两个“日期”间隔(年、月、日)LocalDateTime 年、月、日、时、分、秒。,可以单独修改、获取时间中的年,月,日。),但底层存储的毫秒值仍为0。

2025-05-16 16:30:28 620

原创 黑马Java基础笔记-11

用来描述一类事物的类。比如,Student,Teacher,Dog,Cat等。

2025-05-15 16:05:51 595

原创 黑马Java基础笔记-10

接口用关键字interface来定义public interface 接口名 {}接口不能实例化接口和类之间是实现关系,通过implements关键字表示public class 类名 implements 接口名 {}接口的子类(实现类)要么重写接口中的所有抽象方法要么是抽象类格式public default 返回值类型 方法名(参数列表) { }示例格式public static 返回值类型 方法名(参数列表) { }示例格式1:private 返回值类型 方法名(参数列表) { }

2025-05-13 20:44:52 1061

原创 黑马Java基础笔记-9

对象的多种形态。

2025-05-09 10:09:15 756

原创 黑马Java基础笔记-8

static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量。

2025-05-07 11:19:54 353

原创 黑马Java基础笔记-7

StringJoiner 是 Java 8 引入的工具类,用于构造由分隔符连接的字符串序列,并支持添加前缀和后缀。它能自动处理分隔符插入,避免手动拼接字符串时的边界判断问题(例如最后一个元素后不加分隔符)。

2025-05-03 18:30:49 665

原创 黑马Java基础笔记-6

核心用途:高效处理需要频繁修改的字符串。性能关键:避免中间对象的创建,减少内存开销。最佳实践在循环或动态构建文本时优先使用 StringBuilder。预估容量以减少扩容次数。单线程环境下使用 StringBuilder 替代 StringBuffer 以提升性能。StringTable(字符串常量池)在JDK7版本开始从方法区中挪到了堆内存↩︎。

2025-05-01 15:35:44 634

原创 黑马Java基础笔记-5

Java采用**延迟加载(Lazy Loading)**机制,类只在首次被主动使用时才会加载到方法区。虚拟机不会再默认添加super()构造方法//因为this中调用的方法中有一个super。在使用this调用构造方法时,需要在构造方法的第一行中调用,不然会报错。这个类中的静态变量有赋值,就会将这些值复制给堆内存中的这些属性。this(null, 0, “传智大学”);

2025-04-29 10:41:55 563

原创 黑马Java基础笔记-4

局部变量表(Local Variable Table)用来存放方法的参数和局部变量,包括基本数据类型以及对象引用(Reference)等。可以把它想象成一个小型数组或表,每个方法调用都会有自己独立的一份。操作数栈(Operand Stack)用来执行各种字节码指令时的中间操作数,比如做加法、乘法、对象引用的操作等。操作数栈是“后进先出”的结构,用来暂时存放操作过程中需要使用的值。方法返回地址(Return Address)

2025-04-26 19:56:27 986

原创 黑马Java基础笔记-3

sout(arr)*打印出来是就是这个数组存在堆内存的地址值。776ec8df : 才是数组真正的地址值,(十六进制)D : 表示当前数组里面的元素都是double类型的。通过数组的索引可以获取到这个数组索引位置的具体值。平时我们习惯性的会把这个整体叫做数组的地址值。字符类型:默认初始化值’/u0000’空格。引用数据类型:默认初始化值null。布尔类型:默认初始化值false。扩展:解释一下地址值的格式含义。小数类型:默认初始化值0.0。普通的变量存储的真是的数据。整数类型:默认初始化值0。

2025-04-23 13:39:34 631

原创 黑马Java基础笔记-2

u0000是值的存在表示一个具体的空字符,是基本类型char的默认值。null是引用的缺失表示无对象引用,是引用类型(如StringObject)的默认值。判空方式不同基本类型char使用'\u0000'判断。引用类型使用null判断。基本类型和引用类型不可混淆基本类型(如char)不能赋值为null,而包装类(如Character)可以为null,但在拆箱时需注意风险。

2025-04-22 10:48:01 967

原创 黑马Java基础笔记-1

JDK是java的开发环境JVM虚拟机:Java程序运行的地方核心类库:Java已经写好的东西,我们可以直接用。System.out.print中的这些方法就是核心库中的所包含的开发工具: javac(编译工具)、java(运行工具)、jdb(调试工具)、jhat(内存分析工具)…JRE是java的运行环境,比起JDK更加的精简JVM、核心类库、运行工具。

2025-04-19 18:46:01 213

原创 用回溯法解决分割回文字符串问题(时间,空间复杂度分析)

设字符串s的长度为n,最坏的情况是s中没有任何回文串,那么回溯法需要尝试所有的2^(n-1)种分割方案,每种方案需要O(n)的时间来判断是否是回文串,因此最坏情况下(设字符串s的长度为n,回溯法需要使用一个字符串向量path来存储当前的分割方案,一个字符串向量的向量result来存储最终的所有分割方案,以及一个整数begin来表示当前的起始位置;平均情况下,回溯法的时间复杂度取决于s中回文串的分布,一般来说,回溯法的时间复杂度是指数级的,即O(2^n)。对于每组数据,记录回溯法的运行时间和占用的内存空间;

2025-04-17 09:32:55 888

原创 KMP算法核心笔记:前后缀本质与nextval实现

前后缀是滑动对齐的锚点,确保移动后保留最大有效信息nextval通过预判重复字符,减少无效回退次数从-1开始的实现优势:统一文本指针和模式指针的移动逻辑代码更简洁直观(j == -1作为起点标志)// 完整调用示例System.out.println("匹配次数:" + count);// 输出1。

2025-04-15 22:06:01 729

原创 并查集(Java模板及优化点解析)

秩的含义:秩表示以当前节点为根的树的高度(或深度)上界。例如,初始时每个元素的秩为1(单节点树的高度为1)合并策略:若两树秩不同:将秩较小的树的根节点指向秩较大的树的根节点。此时,合并后的树高度。

2025-04-12 19:22:23 692

原创 千手观音题解(C++与Java)与拓扑排序讲解

在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:每个顶点出现且只出现一次。若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例如,下面这个图:它是一个 DAG 图,那么如何写出它的拓扑排序呢?

2025-04-09 16:14:30 573

原创 质数筛(循环遍历,埃氏筛法,欧拉筛法)

我们都知道一个质数的倍数是一个合数,如果此时不跳出内层循环,就会出现这个合数不是被最小的质数筛掉的情况(因为i中包含了更小的质数,我们可以在后续循环中使用更大的i来筛)欧拉筛法的基本思路是将每个数表示为质数的乘积,然后按照质数的倍数依次筛选,这样每个合数只会被筛选一次,大大减少了时间复杂度。,即非质数,直到筛完所有小于等于给定数n的数。这样,留下的就是小于等于n的质数。的倍数,说明此时的i为合数并且可以表示为 primes.get(j)埃氏筛法的基本思路是先把从2开始的所有数写下来,然后从2开始,

2025-04-08 21:23:45 374

原创 7-9 趣味游戏

具体来说就是遍历每一个开始点,获取这个开始点从2个数的区间到3个数的区间....一直到结束区间的最大值和次大值,这样可以保留最大值和次大值,避免像暴力穷举法中区间变大以后需要重新计算,减少了一层循环。如果取长度为 2 的区间可以取:(4,2) (2,3) (3,1),这 3 个区间的次大数的和为 2 + 2 + 1 = 5。如果取长度为 3 的区间可以取:(4,2,3) (2,3,1),这 2 个区间的次大数的和为 3 + 2 =5。,需要注意的是他们并不是按照年龄的大小排列的,而是随机排列的。

2025-04-05 21:05:48 927

原创 约瑟夫环的四种(数组,链表,递归,迭代)解决方案,与空间、时间复杂度分析

迭代解法其实是递归解法的优化版本,递归解法存在递归调用栈的开销,可能会导致栈溢出问题。而迭代解法通过循环的方式避免了递归调用栈的使用,直接从最底层的情况开始逐步向上计算,最终得到所需的结果。之间(因为淘汰了1人,9这个需要应该要剔除,最大值应该为8),还能将之前删掉的数据归入到n-1与0之间也就是8和0之间,这时候我们又能。迭代解法和递归解法的思路是一致的,这种简单且深度固定的递归大多都能转化为某一公式的循环调用。时间,但是n会随着链表的缩短而减小,最终减少到1,所以单次的删除操作的时间复杂度在。

2025-04-03 15:07:32 699

原创 L1-7 统一命名规范(java)

你所在的公司刚刚招收了几位程序员,然而这些程序员之前在不同的公司工作,所以他们习惯的变量命名规范可能存在差异,需要让他们都习惯公司要求的命名规范,然而这样可能会降低他们的工作效率。你的上司找到了你,希望你能编写统一命名规范的程序,确保效率不降低的前提下,统一项目变量的命名规范。

2025-03-15 00:14:54 195

原创 L1-016 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

2025-03-03 20:07:11 325

原创 L1-009 N个数求和(java)

本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。

2025-02-27 12:52:34 258

原创 L1-006 连续因子

一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

2025-02-26 20:21:18 369

原创 L1-005 考试座位号(java实现)

每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。

2025-02-26 14:00:36 235

原创 MybatisPlus对象注释规则笔记

eg:当存在成员变量“order”时,与sql语句中的“order”关键字一致时。//用于指定表名,当表名与类名一致时或符合驼峰式命名可不加。//用于指定主键,当表中的主键名为“id”时可不加。

2024-08-04 23:39:23 379

原创 7-3 求完数

整数6的因子包括1、2和3,巧合的是6=1+2+3,像6这样所有因子之和恰好等于自身的数称为“完数”。编写程序找出m至n之间的所有完数。

2023-12-23 22:28:28 754

原创 7-1 冰雹猜想

冰雹猜想的内容是:任何一个大于1的整数n,按照n为偶数则除等2,n为奇数则乘3后再加1的规则不断变化,最终都可以变化为1。例如,n等于20,变化过程为:20、10、5、16、8、4、2、1。编写程序,用户输入n,输出变化过程以及变化的次数。

2023-12-21 14:13:43 1249

原创 7-6 单身狗

单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

2023-12-19 22:06:36 518

原创 7-4 天梯赛的善良

天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。于是命题组首先将编程能力划分成了 106 个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。

2023-12-16 21:10:55 444

原创 7-5 乘法口诀数列

本题要求你从任意给定的两个 1 位数字 a1​ 和 a2​ 开始,用乘法口诀生成一个数列 {an​},规则为从 a1​ 开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。

2023-12-13 22:43:49 537

原创 7-4 分寝室

学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。现请你写程序完成寝室的自动分配。

2023-12-12 21:08:58 531

原创 7-1 统计各类字符个数

分别统计一个字符串中出现小写字母、大写字母、数字和空格的个数。

2023-12-09 19:45:23 1571

原创 7-2 点赞

如果有并列,则输出编号最大的那个。

2023-12-06 14:11:40 391

原创 7-3 整除光棍

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s。

2023-12-05 01:12:13 431

原创 7-6 赛博黑客

在赛博朋克2077的夜之城,网络黑客们可以在入侵敌人协议时利用一种被称为“魔偶”的数字序列来渗透控制敌人,而技术高超的网络监察则努力破解这些魔偶代码,以保护关键信息不被窃取。魔偶(长度为k)如果满足对于所有的i (1≤i≤k−1),有 ai​=ai+1​,则被认为是“稳定”的,能够有效地穿透黑墙的防御。作为一名黑客,你发现了一种潜在的攻击方法:将两个魔偶代码组合,通过将一个短代码t插入另一个长代码s的任意位置(可以进行一次或多次操作,也可以不进行操作),来形成一个稳定的魔偶。,变为0101010​10。

2023-12-02 17:53:27 715

原创 7-5 有没有一捏

这些信号用二进制代码表示,二进制值代表了不同类型的安全信息,当二进制值的最后一位为0时,代表该信号是安全的,不会造成网络威胁,如果最后一位是1的,则该信号是1,有潜在的网络威胁。作为一名才华横溢的网络工程师,你被委以重任——编写一个程序用于数字解码器以快速识别这些信号,以帮助保护城市免受潜在的网络威胁。输入一个整数n(1≤n≤263−1),代表二进制信号的十进制形式。对于 20% 的数据,保证231≤n≤263−1。对于 80% 的数据,保证1≤n≤231−1。如果该信号是安全的,输出一行。

2023-12-01 18:38:23 473

原创 7-7 约瑟夫环

有N个人围成一圈(编号为1~N),从第1号开始进行1、2、3报数,凡报3者就退出,下一个人又从1开始报数……直到最后只剩下一个人时为止。请问此人原来的编号是多少?

2023-11-30 23:01:25 417

空空如也

空空如也

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

TA关注的人

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