自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 牛客刷题——合并两个排序的链表

题目要求合并两个递增链表为一个新的递增链表。通过双指针遍历比较节点值,将较小值节点依次链接到新链表。使用哑节点简化操作,空间复杂度O(1),时间复杂度O(n)。当某链表遍历完后,直接将另一链表剩余部分链接到末尾。Python和Java实现均采用这一核心思路:比较当前节点值,移动相应指针,最后处理剩余节点。

2025-09-08 14:41:33 510

原创 牛客刷题兑换零钱

【动态规划解决零钱兑换问题】给定一组不同面值的货币(可重复使用)和目标金额aim,计算组成该金额的最少货币数量。采用动态规划方法:1)初始化dp数组,dp[i]表示金额i的最小货币数;2)遍历1到aim每个金额,对于每个货币面值,若可用则更新dp[i]为min(dp[i], dp[i-coin]+1);3)最终检查dp[aim],若未被更新则返回-1。该方法时间复杂度O(n×aim),空间复杂度O(aim),解决了贪心算法在某些情况下的不足。

2025-09-04 17:02:35 672

原创 牛客刷题:斐波那契数列(跳台阶)

本文介绍了斐波那契数列问题的两种解法:递归法和动态规划法。递归法通过函数自调用实现,但在Python中容易出现超时,可使用@lru_cache优化。动态规划法利用数组存储中间结果,时间复杂度O(n)。文章还引申出类似问题"最小花费爬楼梯",指出其本质也是动态规划问题。两个问题都体现了将大问题分解为子问题的思想,递归可以形象理解为"照镜子"式的层层深入。解题关键在于理解递归思想和动态规划原理。

2025-09-03 15:58:01 779 1

原创 牛客100刷题寻找峰值

该问题要求在O(logN)时间内找到数组中的任意峰值元素(严格大于相邻元素)。关键点在于:1)数组首尾默认为负无穷;2)相邻元素不相等;3)多峰值时返回任意一个即可。解决方案采用二分查找:先检查首尾是否为峰值,若不是则在中间区域通过比较中点与相邻元素决定搜索方向——若中点小于前驱则向左搜索,小于后继则向右搜索,直到找到满足条件的峰值。代码实现中分别用Python和Java处理了边界条件并执行二分查找,确保时间复杂度符合要求。典型示例输入[2,4,1,2,7,8,4]可能返回峰值索引1或5。

2025-09-01 16:49:58 672

原创 机器学习(一)

文章摘要: 本文探讨了机器学习的本质与人类认知的相似性。作者通过人类区分猫狗的例子说明,学习就是识别和总结特征的过程。对于机器而言,特征表现为数据(0和1的二进制世界)。机器学习包含数据处理、模型训练、评估优化和预测推理等环节。文章还介绍了图灵测试的概念,指出当代AI已接近通过这一测试。最后强调,学习的关键在于记忆、总结和应用知识。全文以通俗易懂的方式阐述了机器学习的基本原理。

2025-08-30 15:53:28 567

原创 牛客刷题第二题二分查找

二分查找是一种针对有序数组的高效查找算法,其时间复杂度为O(logn)。算法通过不断比较中间元素与目标值来缩小搜索范围:若相等则返回下标;若目标值较小则在前半部分继续查找;若较大则在后半部分查找。实现时需注意初始化左右边界为数组首尾索引,循环条件为left<=right,每次更新mid后要相应调整左右边界(±1)。Java和Python实现的核心逻辑相同,都采用迭代方式,空间复杂度为O(1)。关键点在于正确计算中间位置(防止溢出可用mid=left+(right-left)/2)和边界调整,最终未找到

2025-08-30 10:53:16 385

原创 牛客100刷题第一题

刷题学习知识,对于初学链表和递归的同学,起到巩固提高的作用,java和python

2025-08-04 14:48:34 606

rawdata.mat

rawdata.mat

2022-11-25

空空如也

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

TA关注的人

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