自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode34. 在排序数组中查找元素的第一个和最后一个位置

但不同于传统的二分搜索,我们所要搜索的target在数组中可能有多个,需要输出其开始位置与结束位置。但nums[mid] = target时,我们可以将搜索到的target下标mid作为左端点继续搜索。此举的目的是向右继续搜索target,直到搜到最右端的target,也就是右边界为止。当target小于数组的最小值或者大于数组的最大值时,rb、lb不会发生任何改变,此时输出{-1, -1};当target在数组的范围内但数组内没有它时,lb > rb,此时也应输出{-1, -1};

2024-07-15 18:12:26 187

原创 二分查找模板

二分查找主要难点在于边界判定,逻辑相对简单,下文以力扣704.二分查找为例分析二分查找的代码模板。

2024-07-15 13:36:28 294

原创 快速排序模板及其理解

分区的思想是:选定一个数,将所有小于这个数的数组元素都放在它的左侧,同理所有大于这个数的数组元素都放在它的右侧。此时,这个数在数组中就是有序的,它处于它应该在的位置。一直进行分区这个操作,直到这个区间只有一个数,也就代表这个区间的父区间排序完毕。此时进行第一次的partition,我们默认取区间右边界的数为mid,也就是将4作为界。然后定义快慢指针,初始值都是l,使用while循环,每次循环快指针都往右走,一直走到r结束。以上这个操作,将使得原区间中所有比mid小的数,都在慢指针的左侧。

2024-07-15 13:17:48 221

空空如也

空空如也

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

TA关注的人

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