自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【倍增思想】须知少年凌云志,曾许人间第一流 - 彻底解决快速幂

本篇博客给大家带来的是倍增思想的题目讲解, 利用此思想解决快速幂 和 64位整数乘法非常好用.🐎文章专栏: 倍增思想🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 快速幂2. 64位整数乘法。

2025-03-31 15:40:44 1435 97

原创 【DFS】羌笛何须怨杨柳,春风不度玉门关 - 4. 二叉树中的深搜

本篇博客给大家带来的是二叉树深度优先搜索的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚.🐎文章专栏: DFS🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 计算二叉树中的布尔值2. 求根节点到叶节点数字之和。

2025-03-24 11:28:09 2466 87

原创 【DFS】春来我不先开口,哪个虬儿敢做声 - 3.快速幂

本篇博客给大家带来的是DFS深度优先遍历的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚.🐎文章专栏: DFS🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 快速幂。

2025-03-18 15:33:07 1714 96

原创 【DFS】天子呼来不上船,自称臣是酒中仙 - 2.递归

本篇博客给大家带来的是DFS深度优先遍历的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚.🐎文章专栏: DFS🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 反转链表2. 两两交换链表中的节点。

2025-03-13 14:10:42 1017 90

原创 【DFS】草木蔓发,春山可望 - 1. 递归

本篇博客给大家带来的是DFS深度优先遍历的解法技巧,本篇文章的题目主要讲递归,在后续的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚.🐎文章专栏: DFS🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 汉诺塔问题2. 合并两个有序链表3. 递归与循环小总结。

2025-03-11 14:01:42 2063 76

原创 【动态规划】须知少时凌云志,曾许人间第一流 - 二维01背包问题

本篇博客给大家带来的是二维01背包问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 一和零2. 盈利计划。

2025-02-24 19:38:39 3274 118

原创 【动态规划】心有惊雷,生似静湖 - 10. 完全背包问题

本篇博客给大家带来的是完全背包问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 零钱兑换2. 完全平方数。

2025-02-17 20:44:59 2462 84

原创 【动态规划】风扫枯杨,满地堆黄叶 - 9. 完全背包问题

本篇博客给大家带来的是完全背包问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 完全背包2. 零钱兑换。

2025-02-11 23:03:47 3197 73

原创 【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题

2. 状态转移方程根据最后一个位置是否选择, 来划分问题:① i 物品不选, dp[i] = dp[i-1][j]② i 物品要选, 需要保证剩余容量大于等于0, j-v[i]>= 0, w[i] + dp[i-1][j-v[i]];3. 初始化选择物品是从下标1 开始的, 到n结束, 那么dp表就需要多创建一行一列,处理两个细节问题:①下标之间的对应关系: i -> i j -> j②初始化虚拟节点:

2025-01-22 23:26:26 4024 100

原创 【优先算法】思还故里闾,欲归道无因 - 前缀和

本篇博客给大家带来的是前缀和算法的知识点, 也是一样通过OJ题理解,掌握,应用该算法.🐎文章专栏: 算法🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 和为K的子数组2. 和可被 K 整除的⼦数组(蓝桥杯真题)3. 连续数组4. 矩阵区域和。

2025-01-13 23:39:30 3589 91

原创 【动态规划】黄地厚,来煎人寿 - 子序列问题

本篇博客给大家带来的是子序列问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 最长递增子序列2. 最长递增子序列的个数。

2025-01-06 20:39:14 2266 96

原创 【动态规划】忽遇狂风起,闲心不自由. - 子数组问题

本篇博客给大家带来的是子数组问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 最大子数组和2. 环形子数组的最大和3. 乘积最大子数组4. 乘积为正数的最长子数组长度。

2024-12-30 16:57:04 2389 107

原创 【动态规划】陶然无喜亦无忧,人生且自由 - 简单多状态模型

本篇博客给大家带来的是简单多状态之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 按摩师2. 打家劫舍3. 删除并获得点数4. 粉刷房子。

2024-12-24 15:00:22 3626 144

原创 【动态规划】多歧路 , 今安在? - 路径问题

本篇博客给大家带来的是路径问题之动态规划解法技巧.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 不同路径2. 不同路径 II3. 珠宝的最高价值。

2024-12-18 20:54:24 3253 124

原创 【动态规划】风雨不动安如山,赖有砥柱立中流 - 斐波那契数列模型

本篇博客给大家带来的是动态规划算法的知识点.🐎文章专栏: 动态规划🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 第 N 个泰波那契数2. 三步问题3. 使用最小花费爬楼梯4. 解码方法。

2024-12-16 21:31:50 2206 103

原创 【优先算法】不知OJ谁裁出,二分查找似剪刀 - 二分查找算法

本篇博客给大家带来的是二分查找的知识点,通过相关的OJ题进一步理解二分查找的应用与本质.🐎文章专栏: 优先算法🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 二分查找算法1.1 二分查找(easy)1.2 在排序数组中查找元素的第⼀个和最后⼀个位置(medium)1.3 搜索插入位置1.4 x的平方根。

2024-12-10 16:08:24 3475 144

原创 【JavaEE初阶】春风若有怜花意,可否许我再少年?- (重点)线程

本篇博客给大家带来的是线程的知识点, 由于时间有限, 分三天来写, 本篇为线程第三篇,也是最后一篇.🐎文章专栏: JavaEE初阶🚀若有问题 评论区见❤如果你不知道分享给谁,那就分享给薯条.你们的支持是我不断创作的动力 .王子,公主请阅🚀1. 多线程案例1.1 单例模式1.1.1 饿汉模式1.1.2 懒汉模式(单线程)1.1.3 懒汉模式(多线程)2. 阻塞队列2.1 什么是阻塞队列?2.2 生产消费模型2.3 Java标准库中的阻塞队列2.4 自实现阻塞队列。

2024-12-06 21:57:45 1710 109

原创 【JavaEE初阶】落霞与孤鹜齐飞,秋水共长天一色 - (重点)线程

• 假设有 A B C 三个线程, 线程 A 先获取到锁, 然后 B 尝试获取锁, 然后 C 再尝试获取锁, 此时 B 和 C都在阻塞队列中排队等待. 但是当 A 释放锁之后, 虽然 B 比 C 先来的, 但是 B 不⼀定就能获取到锁,而是和 C 重新竞争, 并不遵守先来后到的规则.篮球场上的每个运动员都是独立的 “执行流” , 可以认为是一个 “线程”.而完成⼀个具体的进攻得分动作, 则需要多个运动员相互配合, 按照⼀定的顺序执行⼀定的动作, 线程1 先 “传球” , 线程2 才能 “扣篮”.

2024-12-03 17:24:43 2847 105

原创 【JavaEE初阶】应是天仙狂醉,乱把白云揉碎 - (重点)线程

而上面我们的公司业务中,张三、李四、王五虽然是不同的执行流,但因为办理的都是⼀家公司的业务,所以票据是共享着的。系统的调度顺序不确定, 但是大概率是先打印true, 因为调用了start方法之后, 新的线程被创建也是有一定的开销的, 创建线程的过程中, 主线程就执行了. 当然也存在先打印 "线程开始"的情况. 比如: 主线程刚好卡了一会.1. ID 是线程的唯⼀标识,不同线程不会重复.(此处ID是Java给线程分配的,不是系统API提供的线程ID,也不是PCB中的ID.)

2024-12-01 15:41:38 1633 113

原创 【数据结构】此景只应天上有,人间难得几回闻 - 9. 领略Map与Set之巧妙

实际上用的是红黑树,而红黑树是一棵近似平衡的二叉搜索树,即在二叉搜索树的基础之上 + 颜色以及红黑树性质验证,关于红黑树的内容后序再进行介绍.那如何寻找下一个空位置呢?首先,我们需要明确一点,由于我们哈希表底层数组的容量往往是小于实际要存储的关键字的数量的,这就导致一个问题,冲突的发生是必然的,但我们能做的应该是尽量的降低冲突率。线性探测的缺陷是产生冲突的数据堆积在一块,这与其找下一个空位置有关系,因为找空位置的方式就是挨着往后逐个去找,因此二次探测为了避免该问题,找下一个空位置的方法为:H。

2024-11-27 21:38:51 2104 135

原创 【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?

进程从 cpu 离开之前,需要保存现场,把当前 cpu 中各种寄存器的状态,都记录到内存中.等到下次进程回到 cpu 上执行的时候,此时就可以把保存的这些寄存器的值,恢复回去. 进程就会沿着上次执行到的位置,继续往后执行!通过优先级机制,对不同的进程分配了不同权重的资源.有可能会出现极端的情况,所有的资源都给某个进程,其他进程一点都没捞着. 为了避免这种情况,记账信息,会记录当前进程持有 cpu 的情况。1. pid, 进程身份标识. 每个进程都会有一个pid, 同一时刻,不同之间的pid是不同的.

2024-11-25 20:27:59 1691 102

原创 数据结构-8.Java. 七大排序算法(下篇)

彻底解决归并排序的重难点, 笔试中这部分知识点不再阻塞,包括归并排序的非递归实现.

2024-11-23 13:49:48 5484 103

原创 数据结构-8.Java. 七大排序算法(中篇)

1. 定义变量key=[left], 从右边right开始往左,找到比key小的第一个数 tmpR,tmpR的下标为 i , [left] = tmpR, 将 left位置覆盖, 此时 i 位置可看作一个空出来的坑位.1. 当数据量很大的待排序数组本身是有序的时候, 递归快排会出现单分支的情况, 此时递归的次数最多, 所需的空间也最多, 怎么减小空间消耗呢?2. 每一趟中遍历未排序数组, 比较[ j ] 与 [ j + 1 ] 的大小, 若[ j ] 较大, 则值交换, 否则 j++.

2024-11-22 10:40:01 6657 145

原创 数据结构-8.Java. 七大排序算法(上篇)

1. 元素集合越接近有序,直接插入排序算法的时间效率越高2. 时间复杂度:O(N^2)3. 空间复杂度:O(1),它是一种稳定的排序算法4. 稳定性:稳定。

2024-11-19 21:12:06 9190 103

原创 数据结构-7.Java. 对象的比较

2.2 对象比较的问题c1、c2和c3分别是Card类型的引用变量,上述代码在比较编译时: c1 > c2 编译失败 c1== c2 编译成功 c1 < c2 编译失败从编译结果可以看出,Java中引用类型的变量不能直接按照 > 或者 < 方式进行比较。 那为什么==可以比较呢? 因为:对于用户实现自定义类型,都默认继承自Object类,而Object类中提供了equal方法,而==默认情况下调 用的就是equal方法,但是该方法的比较规则是:没有比较引用变量引用对象的内容,

2024-11-18 15:45:21 4742 97

原创 数据结构-6.Java. 优先级队列

的特性Java集合框架中提供了和两种类型的优先级队列,是线程不安全的,是线程安全的,本文主要介绍中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出异常2.不能插入null对象,否则会抛出3.没有容量限制,可以插入任意多个元素,其内部可以自动扩容4.插入和删除元素的时间复杂度为5.底层使用了堆数据结构6.默认情况下是小堆---即每次获取到的元素都是最小的元素常用接口介绍1.优先级队列的构造自行实现即可, 具体功能看源码.// 创建一个空的优先级队列,底层默认容量是11。

2024-11-16 14:45:05 1582 102

原创 数据结构-5.Java. 二叉树

本篇博客给大家带来的是二叉树的知识点, 其中包括面试经常会提问的真题 ArrayList 和 LinkedList 的区别 .文章专栏:Java-数据结构若有问题 评论区见如果你不知道分享给谁,那就分享给薯条。你们的支持是我不断创作的动力 .

2024-11-15 17:00:00 2338 48

原创 数据结构-4.Java. 栈与队列

本篇博客给大家带来的是的知识点, 其中包括两道文章专栏:Java-数据结构若有问题 评论区见欢迎大家如果你不知道分享给谁,那就分享给薯条, 如果分享不成功, 那我就会回你一下,那样你就分享成功啦.你们的支持是我不断创作的动力 .

2024-09-25 15:44:08 1570 43

原创 数据结构-3.Java. 链表

由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。说明:1. LinkedList实现了List接口2. LinkedList的底层使用了双向链表3. LinkedList没有实现RandomAccess接口, 因此LinkedList不支持随机访问4. LinkedList的任意位置插入和删除元素时的效率比较高,时间复杂度为O(1)5. LinkedList比较适合任意位置插入的场景。

2024-09-18 20:47:45 1809 32

原创 数据结构-2.Java. 顺序表

1.ArrayList是以泛型方式实现的, 使用时必须要先实例化2.ArrayList实现了RandomAccess接口, 表明ArrayList支持随机访问3.ArrayList实现了Cloneable接口, 表明ArrayList是可以clone的4.ArrayList实现了Serializable接口, 表明ArrayList是支持序列化的5.和Vector不同, ArrayList不是线程安全的, 在单线程下可以使用, 在多线程下可以选择Vector或者。

2024-09-16 14:57:42 1343 17

原创 数据结构-1.Java. 初始包装类与泛型

Java编程思想》对泛型的介绍:一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。泛型是在JDK1.5就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。2.2引出泛型实现一个类,类中包含一个数组成员,使得数组中可以存放任何类型的数据,也可以根据成员方法返回数组中某个下标的值?我们以前学过的数组,只能存放指定类型的元素,例如:所有类的父类默认为Object类。数组是否可以创建为。

2024-08-03 00:19:48 4340 73

原创 javase-12.续上篇接口

int age;@Override'}';@Override//克隆方法在Object当中,并且由protected修饰,所写类默认继承Object类//protected:不同包中的子类.同时使用时,需要super调用//14.3//14.3//99.0//99.0这句代码原本应该是只改变person2.m.money的值,但是person1也改变了原因:那怎么实现只改变person2中的money值?代码如下:int age;

2024-07-26 00:44:51 1303 8

原创 Javase-12.抽象类和接口

修饰称为抽象类,抽象类中被abstract修饰的方法称为抽象方法,抽象方法{}中不用给出具体的实现体。//抽象方法:被abstract修饰的方法,没有方法体//抽象类也可以增加普通方法,//面积//以及构造方法System.out.println("抽象类中的构造方法");

2024-07-23 18:08:16 914 21

原创 Javase-11.多态

多态的概念:通俗来说就是多种形态.比如:同样是打印,彩色打印机打印出来的纸是彩色的,而黑白打印机打印出来的是黑白色的.

2024-07-22 19:51:12 1378 6

原创 javase-10.继承

是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行,这样产生新的类,称。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。。int age;System.out.println(name+ "正在吃饭");System.out.println(name+ "正在睡觉");System.out.println(name+ "汪汪汪~~~");int age;

2024-07-21 21:00:36 1354 9

原创 【Javase-9.类和对象】

java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象.面向对象是解决问题的一种思想,主要依靠对象之间的交互来完成一件事.1.2面向对象与面向过程的区别举个例子:1.传统洗衣服过程传统的方式: 注重的是洗衣服的过程,少了一个环节都不行.而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另 一种放方式。按照该种方式来写代码,将来扩展或者维护起来会比较麻烦。2.现代洗衣服的过程总共有四个对象: 人 , 衣服 , 洗衣粉 , 洗衣机。

2024-07-20 15:03:30 1076 2

原创 Javase-8.数组的练习

int i = 0;= 0) {i++;= 1) {j--;

2024-07-18 17:39:00 1081 5

原创 Javase-7.数组的定义与使用

而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址。通过观察代码可以发现,对数组中每个元素的操作都是相同的,则可以使用循环来进行打印。基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应的值;是数组类型的引用变量,其内部保存的内容可以简单理解成是数组在堆空间中的首地址。以及其他的一些信息,保存的都是与方法执行时相关的一些信息。是内置类型的变量,因此其空间中保存的就是给该变量初始化的值。// 也可以通过[]对数组中的元素进行修改。

2024-07-17 21:17:38 724 3

原创 Javase-6.方法的使用

方法就是一个代码片段类似于C语言中的函数。方法存在的意义不要背重在体会):1.当代码规模比较复杂的时候,能够模块化的组织代码2.做到代码被重复使用一份代码可以在多个位置使用3.让代码更好理解更简单4.直接调用现有方法开发不必重复造轮子比如:现在要开发一款日历,在日历中经常要判断一个年份是否为闰年,则有如下代码:System.out.println(year+"年是闰年");}else{System.out.println(year+"年不是闰年");

2024-07-16 16:49:28 1203 6

原创 Javase-5.逻辑控制的习题

i <= 30,i += 2)表示奇数位上的数字,为了打印出来的顺序与0000 0000 0000 0000 0000 0000 0000 0111一致,故将for(int i = 1;i <= 30,i += 2)倒过来写:for(int i = 30;继续 进行a%b(a = b, b = c),直到a % b为零,此时b即为a和b的最大公约数。第32位为符号位不用管,只算到31,第一位(奇数位)上的数字:1,第二位(偶数位)上的数字:1,第三位(奇数位)...第三十一位(奇数位)上的数字:0.

2024-07-15 21:56:43 702 5

空空如也

空空如也

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

TA关注的人

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