自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣面试经典150题——189.轮转数组

摘要:该问题要求将整数数组元素向右轮转k个位置。示例显示,当k=3时,数组[1,2,3,4,5,6,7]变为[5,6,7,1,2,3,4]。解决思路采用三次翻转法:先整体翻转数组,再分别翻转前k个元素和剩余元素,实现空间复杂度O(1)的原位操作。该方法通过数学关系有效完成元素轮转,适用于大规模数组。

2025-08-25 11:13:35 414

原创 力扣经典面试150题--169.多数元素

摘要:该问题要求找出数组中出现次数超过一半的元素。可通过"摩尔投票法"高效解决:初始化候选元素和计数器,遍历数组时相同元素则计数加1,不同则减1,当计数器归零时更新候选元素。该方法时间复杂度O(n),空间复杂度O(1)。示例代码展示了该算法的实现过程,适用于保证存在多数元素的情况。

2025-08-22 09:17:11 464

原创 力扣面试经典150题--80. 删除有序数组中的重复项 II

本文介绍了一种原地删除有序数组中重复元素的方法,要求每个元素最多出现两次。解决方案采用双指针技术:快指针遍历数组,慢指针标记有效区域末尾。核心逻辑是比较当前元素与慢指针前两个位置的元素,不同则保留。该算法时间复杂度O(n),空间复杂度O(1),适用于已排序数组的高效去重处理。通过索引控制和元素比较,确保结果数组满足要求,最后返回新数组长度。

2025-08-21 10:44:01 731

原创 力扣面试经典150题——26.删除有序数组中的重复项

本文介绍了一种原地删除有序数组中重复元素的算法。给定一个非严格递增排列的数组,要求返回去重后的数组长度,并将唯一元素保存在数组前部。算法使用哈希数组标记已出现元素,将未重复元素存入临时数组后复制回原数组。示例显示输入[1,1,2]输出2且nums变为[1,2,_]。该解法时间复杂度O(n),空间复杂度O(n),适用于元素范围有限的情况。作者指出由于数组有序的特性,可能存在更优解法。

2025-08-20 10:23:44 420

原创 力扣经典面试150题——27.移除元素

摘要: 题目要求原地移除数组中所有等于给定值val的元素,并返回剩余元素的数量。解决方案通过遍历数组,将匹配元素标记为-1,统计相同值数量,然后构建新数组保留有效元素并覆盖原数组。最终返回非val元素的数量k,并确保数组前k位为有效元素(顺序不限)。示例演示了输入输出格式及处理逻辑。核心思路:标记+重构数组,时间复杂度O(n),空间复杂度O(n)。

2025-08-19 17:50:12 900

原创 力扣经典面试150题——88.合并两个有序数组

本文介绍了合并两个有序数组的算法。给定两个非递减排列的数组nums1和nums2,其中nums1预留了足够空间,要求将nums2合并到nums1中并保持有序。采用双指针法,比较两个数组元素并逐个选择较小值存入临时数组,最后将剩余元素追加。时间复杂度为O(m+n)。示例代码展示了具体实现过程,包括边界条件处理。该解法高效且直观,适用于各类有序数组合并场景。

2025-08-19 16:56:00 489

空空如也

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

TA关注的人

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