自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode出击!第一集:两数之和

摘要:LeetCode第一题"两数之和"是算法学习的经典入门题,通过三种解法展现了算法效率的权衡:暴力搜索法(O(n²))直观但效率低;双指针法(O(Nlogn))利用排序和指针移动优化;哈希表法(O(n))通过空间换时间达到最优效率。这道题不仅揭示了算法设计的核心思想,还为后续复杂问题解决奠定了基础,是理解时空复杂度权衡的绝佳范例。

2025-07-08 13:39:13 539

原创 LeetCode出击!第五集:数组大乱斗2(简单前150题)

通过双两层循环,将数组的所有元素都减一遍,找到最大值,时间复杂度为O(n2)。公式:2*(所有唯一元素和) - (全部元素和) = 单独数字,可能发生整数溢出(实际使用需考虑)。时间复杂度O(n),空间复杂度O(n)。时间复杂度O(n log n)(主要来自排序),空间复杂度O(1) (原地排序) 或 O(n) (需要拷贝)。时间复杂度O(n),空间复杂度O(1)。该方法通用性强,可适用于其他出现次数,但需要额外空间。时间复杂度O(n),空间复杂度O(n)。该方法为最优解,时间复杂度为O(n)。

2025-07-16 22:22:05 473

原创 LeetCode出击!第四集:数组大乱斗1(简单前150题)

该方法区别于前一方法,无需额外的数组来存放合并后的数组,直接在数组nums1上操作。时间复杂度为O(m+n)。该题目比较简单,但需要把握所有细节,注意当数组元素全部都是9,需要持续进位,即数组所有元素为0,首元素前插入1。时间复杂度为O(n)。该方法运用双指针,将两个数组的元素有条件的交替放入到新数组中,指针最多需要移动(m+n)次,时间复杂度为O(m+n)。暴力解决,先合并再排序,时间复杂度O((m+n)log(m+n))。进阶:如何将时间复杂度优化到O(m+n)呢?时间复杂度O(numRows2)。

2025-07-11 22:55:13 449

原创 LeetCode出击!第三集:数组的群英荟萃

解题思路:该题要求是将重复元素剔除并返回新数组的长度,首先我们需要知道哪些元素是重复的,不难看出,我们只需将数组的相邻两个作比较即可。我们可以使用两个下标分别标识相邻的元素,即。该方法通俗易懂,时间复杂度为O(n),但题目要求时间复杂度为O(logn),需要进一步优化代码。,满足题目要求,效率显著优于 O(n) 的线性扫描。时间复杂度:O(n)。每次迭代将搜索范围减半 →。

2025-07-09 14:18:59 194

原创 LeetCode出击!第二集:14.最长公共前缀

摘要:最长公共前缀是算法面试高频题,考察字符串处理与优化能力。该解法以首字符串为基准,逐字符与其他字符串比对,使用size()、length()和substr()等函数实现。当发现字符不匹配或超出某字符串长度时,返回当前匹配的前缀。时间复杂度为O(n*m),其中n为字符串数量,m为最短字符串长度。该解法简洁高效,体现了字符串处理的基本功。

2025-07-08 17:10:23 187

空空如也

空空如也

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

TA关注的人

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