- 博客(116)
- 收藏
- 关注
原创 备战蓝桥杯————二分搜索(一)
在某些特定情况下,我们需要找到元素的边界位置,例如,在有序数组中寻找一个值的左侧边界。但有时我们可能需要找到目标值的左侧边界,即大于或等于目标值的第一个元素的索引。答:关键在于处理 nums[mid] == target 的情况时,我们不立即返回,而是缩小搜索区间的上界 right,继续在左侧区间 [left, mid)`中搜索。答:这是因为我们的搜索区间是左闭右开的,所以当 nums[mid] 被检测后,我们需要在 [mid + 1, right)或 [left, mid) 中继续搜索。
2024-03-06 20:00:21
1321
原创 备战蓝桥杯————差分数组2
通过本文的分析和实现,我们不仅掌握了差分数组这一强大的算法工具,还学会了如何将其应用于解决实际的交通管理问题。无论是拼车服务中的车辆容量计算,还是航班预订统计,差分数组都以其简洁高效的处理方式,展现了算法的魅力。在技术日益发展的今天,算法不仅是解决问题的手段,更是推动社会进步的重要力量。让我们继续探索算法的深度与广度,用科技的力量为人类的生活带来更多可能。
2024-03-02 19:37:47
1299
原创 备战蓝桥杯————差分数组1
差分数组是一种高效的算法技巧,它在处理数组区间操作时特别有用。当你需要频繁地对数组的某个区间进行元素的增减操作时,使用差分数组可以显著提高效率。这种方法的核心思想是利用差分来避免对整个区间进行逐个元素的修改。
2024-03-02 18:51:25
1106
原创 备战蓝桥杯————前缀和数组1
前缀和数组(Prefix Sum Array)是一个数组,它存储了原数组(或序列)的连续子数组之和。对于一个给定的数组。
2024-02-28 13:40:33
734
原创 备战蓝桥杯————k个一组反转单链表
k个反转单链表,顾名思义就是k个节点为一组进行反转,这是一道困难的题目,如何解答,可以在我们前面的反转链表中得到思路。
2024-02-27 23:29:14
714
原创 备战蓝桥杯————递归反转单链表
当要求只反转单链表中的一部分时,递归实现确实具有一定的挑战性,但也是可行的。下面我将介绍一种递归实现的方法来反转单链表中的一部分。
2024-02-26 21:03:40
597
原创 备战蓝桥杯————二叉树解题思维1
二叉树解题思维模式强调是否可以通过一次遍历二叉树来得到答案。通常使用一个遍历函数(比如前序、中序、后序遍历)结合外部变量来实现。这种方法适用于需要在每个节点上执行相同操作的情况。这种思维模式强调是否可以通过定义递归函数,从子问题(子树)的答案推导出原问题的答案。在这种模式下,你需要考虑如何定义递归函数以及如何利用其返回值。通过不断地分解子问题,最终解决整个问题。不论使用哪种思维模式,都要思考每个单独的二叉树节点需要做什么以及何时做(前序、中序、后序位置)。
2024-02-25 09:03:05
1062
原创 备战蓝桥杯————双指针技巧巧解数组3
利用双指针技巧来解决七道与数组相关的题目。给定一个按升序排列的数组,找到两个数使它们的和等于目标值。可以使用双指针技巧,在数组两端设置左右指针,根据两数之和与目标值的大小关系移动指针。给定一个有序数组,原地删除重复出现的元素,使每个元素只出现一次,并返回新的长度。利用双指针技巧,一个指针用于遍历数组,另一个指针指向新数组的末尾。给定一个数组和一个值,原地移除数组中所有等于该值的元素,返回新数组的长度。同样利用双指针技巧,一个指针用于遍历数组,另一个指针用于记录非目标值的位置。
2024-02-25 08:00:00
1333
原创 备战蓝桥杯————双指针技巧巧解数组1
利用双指针技巧来解决七道与数组相关的题目。给定一个按升序排列的数组,找到两个数使它们的和等于目标值。可以使用双指针技巧,在数组两端设置左右指针,根据两数之和与目标值的大小关系移动指针。给定一个有序数组,原地删除重复出现的元素,使每个元素只出现一次,并返回新的长度。利用双指针技巧,一个指针用于遍历数组,另一个指针指向新数组的末尾。给定一个数组和一个值,原地移除数组中所有等于该值的元素,返回新数组的长度。同样利用双指针技巧,一个指针用于遍历数组,另一个指针用于记录非目标值的位置。
2024-02-24 08:00:00
1098
原创 备战蓝桥杯————双指针技巧巧解数组2
利用双指针技巧来解决七道与数组相关的题目。给定一个按升序排列的数组,找到两个数使它们的和等于目标值。可以使用双指针技巧,在数组两端设置左右指针,根据两数之和与目标值的大小关系移动指针。给定一个有序数组,原地删除重复出现的元素,使每个元素只出现一次,并返回新的长度。利用双指针技巧,一个指针用于遍历数组,另一个指针指向新数组的末尾。给定一个数组和一个值,原地移除数组中所有等于该值的元素,返回新数组的长度。同样利用双指针技巧,一个指针用于遍历数组,另一个指针用于记录非目标值的位置。
2024-02-24 08:00:00
1131
原创 备战蓝桥杯—— 双指针技巧巧答链表4
对于单链表相关的问题,双指针技巧是一种非常广泛且有效的解决方法。使用两个指针分别指向两个链表的头部,逐一比较节点的值,将较小的节点链接到结果链表中,直至其中一个链表遍历完毕。使用快慢指针技巧,快指针每次移动两步,慢指针每次移动一步,直到快指针到达链表尾部。这样可以找到链表的中间节点,从而将链表分解成两部分。📚可以利用归并排序的思想,两两合并链表,直到合并成一个链表。📚使用两个指针,让一个指针先移动 k 步,然后两个指针一起移动,直到第一个指针到达链表尾部,此时第二个指针指向的节点即为倒数第 k 个节点。
2024-02-23 08:15:00
1077
2
原创 备战蓝桥杯——双指针技巧巧答链表3
对于单链表相关的问题,双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决的摘要:合并两个有序链表: 使用两个指针分别指向两个链表的头部,逐一比较节点的值,将较小的节点链接到结果链表中,直至其中一个链表遍历完毕。链表的分解: 使用快慢指针技巧,快指针每次移动两步,慢指针每次移动一步,直到快指针到达链表尾部。这样可以找到链表的中间节点,从而将链表分解成两部分。合并 k 个有序链表: 可以利用归并排序的思想,两两合并链表,直到合并成一个链表。寻找单链表的倒数第 k
2024-02-23 08:00:00
976
原创 备战蓝桥杯—— 双指针技巧巧答链表2
对于单链表相关的问题,双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决:合并两个有序链表: 使用两个指针分别指向两个链表的头部,逐一比较节点的值,将较小的节点链接到结果链表中,直至其中一个链表遍历完毕。链表的分解: 使用快慢指针技巧,快指针每次移动两步,慢指针每次移动一步,直到快指针到达链表尾部。这样可以找到链表的中间节点,从而将链表分解成两部分。合并 k 个有序链表: 可以利用归并排序的思想,两两合并链表,直到合并成一个链表。寻找单链表的倒
2024-02-22 00:45:19
1308
原创 备战蓝桥杯—— 双指针技巧巧答链表1
对于单链表相关的问题,双指针技巧是一种非常广泛且有效的解决方法。使用两个指针分别指向两个链表的头部,逐一比较节点的值,将较小的节点链接到结果链表中,直至其中一个链表遍历完毕。使用快慢指针技巧,快指针每次移动两步,慢指针每次移动一步,直到快指针到达链表尾部。这样可以找到链表的中间节点,从而将链表分解成两部分。可以利用归并排序的思想,两两合并链表,直到合并成一个链表。使用两个指针,让一个指针先移动 k 步,然后两个指针一起移动,直到第一个指针到达链表尾部,此时第二个指针指向的节点即为倒数第 k 个节点。
2024-02-22 00:27:18
1110
1
原创 Python手写最小二乘法求解线性回归
损失函数是系数的函数,另外还要传入数据的x,y# 逐点计算平方损失误差,然后求平均数# 先定义一个求均值的函数sum = 0# 定义核心拟合函数sum_yx = 0sum_x2 = 0# 根据公式计算w。
2024-01-02 15:42:00
991
原创 最小二乘法解线性回归
基于均方误差最小化来进行模型求解的方法称为“最小二乘法(least square method)它的主要思想就是选择未知参数,(a5,b5)(a3,b3)(a1,b1)(a4,b4)(a2,b2)使得理论值与观测值之差的平方和达到最小。本质和目标相同:两种方法都是经典的学习算法,在给定已知数据的前提下利用求导算出一个模型(函数),使得损失函数最小,然后对给定的新数据进行估算预测。求解w和b,使得 E(w)=(y - zi-)最小化的过程,称为线性回归模型的“最小二乘参数估计。梯度下降法和最小二乘法。
2024-01-02 15:34:51
2420
原创 基于鸢尾花数据集的逻辑回归分类实践
包含的三种鸢尾花的四个特征,分别是花萼长度(cm)、花萼宽度(cm)、花瓣长度(cm)、花瓣宽度(cm),这些形态特征在过去被用来识别物种。本次我们选择鸢花数据(iris)进行方法的尝试训练,该数据集一共包含5个变量,其中4个特征变量,1个目标分类变量。通过上图我们可以发现 Logistic 函数是单调递增函数,并且在z=0的时候取值为0.5,并且。对于模型的训练而言:实质上来说就是利用数据求解出对应的模型的特定的。而对于多分类而言,将多个二分类的逻辑回归组合,即可实现多分类。,分类为0,其对应的。
2023-12-24 23:30:51
1906
原创 机器学习 | 密度聚类和层次聚类
与划分和层次聚类方法不同,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,能够把具有。
2023-12-20 13:15:29
601
原创 Numpy实现K-means算法
到这里,如果还有什么疑问欢迎私信、或评论博主问题哦,博主会尽自己能力为你解答疑惑的!如果对你有帮助,你的赞和关注是对博主最大的支持!基于上篇博客K-means算法的代码实现。
2023-12-20 10:56:34
509
原创 机器学习 | K-means聚类
K-means算法是一种无监督学习方法,是最普及的聚类算法,算法使用个没有标签的数据集,然后将数据聚类成不同的组K-means算法具有一个迭代过程,在这个过程中,数据集被分组成若干个预定义的不重叠的聚类或子组,使簇的内部点尽可能相似,同时试图保持簇在不同的空间,它将数据点分配给簇,以便簇的质心和数据点之间的平方距离之和最小,在这个位置,簇的质心是簇中数据点的算术平均值。
2023-12-20 10:44:13
1648
原创 无监督学习 聚类
在一个典型的监督学习中,训练集有标签y,我们的目标是找到能够区分正样本和负样本的决策边界,需要据此拟合一个假设函数。在无监督学习中,我们的数据没有附带任何标签y,无监督学习主要分为聚类、降维、关联规则、推荐系统等方面。
2023-12-19 22:45:23
881
原创 支持向量机 支持向量机概述
支持向量机 Support Vector MachineSVM ) 是一类按监督学习 ( supervisedlearning)方式对数据进行二元分类的广义线性分类器 (generalized linear classifier) ,其决策边界是对学习样本求解的最大边距超亚面 (maximum-margin hyperplane)与逻辑回归和神经网终相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。
2023-12-19 22:16:52
1203
原创 关联规则 Fp-Growth算法实现
实现Fp-Growth算法,使用上次博客的例子,设置最小支持度计数为3,3/5=0.6,所以支持度为0.6,代码与结果如下。
2023-12-17 00:52:19
96
原创 关联规则 Apriori算法原理
Apriori算法:利用频繁项集生成关联规则。它基于频繁项集的子集也必须是频繁项集的概念频繁项集是支持值大于阈值 (support) 的项集。
2023-12-16 21:21:30
310
原创 关联规则 关联规则概述
关联规则 (Association Rules)反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物就能够通过其他事物预测到。关联规则可以看作是一种IF-THEN关系。假设商品A被客户购买,那么在相同的交易ID下商品B也被客户挑选的机会就被发现了购物车分析是大型超市用来揭示商品之间关联的关键技术之一。他们试图找出不同物品和产品之间的关联,这些物品和产品可以一起销售,这有助于正确的产品放置。买面包的人通常也买黄油。
2023-12-16 21:16:32
255
JavaGUI课程设计黄金矿工源码(关注私信我获取解析文档)
2023-03-11
数据可视化-世界杯球迷观赛可视化
2022-12-14
今年蓝桥杯难度如何?
2023-04-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人