自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3.二分查找

二分查找算法功能输入输出算法步骤关键点案例一:AcWing 789. 数的范围输入输出步骤案例二:AcWing 790. 数的三次方根输入输出步骤 算法功能 查找有序数组中的某个元素的下标 输入输出 输入 输出 最左元素下标:l 目标元素的下标:l 最右元素下标:r 数组:a[] 算法步骤 红色区域的右边界值 找中间值 mid = (l+r+1)/2 int mid = l + r + 1 >> 1;//如果不加上1,那么mid得到的是下取整的数 //那

2022-02-14 10:54:46 443

原创 3.归并排序

算法思想是什么? 从中间断开,然后合并 算法步骤是什么? 1.确定分界点,mid=(1+r)/2 2.递归排序left、right 3.归并-合二为一 算法代码是什么? #include <iostream> using namespace std; const int N = 1e5 + 10; int a[N], tmp[N]; void merge_sort(int q[], int l, int r) { if (l >= r) return;

2022-02-12 21:54:14 456

原创 2.第k个数(快速排序选择)

算法思想是什么? 快速排序,个数是位数的象征,第k个数始终在个数多的那一边。 算法步骤是什么? 1.不管三七二十一先找个目标X分两边,此时X左边都<=X,右边>=X,也就能确定目标X在数列中的真实位置。 2.查看k是否<左边个数,如果小于说明在左侧内,左侧递归排序再找到K就OK,反之在右边。例:第三位要在第七位前面找。 3.最终无限夹击找到K。 算法代码是什么? #include <iostream> using namespace std; const int

2022-02-10 16:59:52 737

原创 1.快速排序(双指针法)

算法思想是什么? 分治 算法步骤是什么? 1.选择数组中的第一个元素arr[startIndex]作为轴(pivot) 2.左指针为left,从最左边开始寻找第一个比pivot大的数 3.右指针为right,从最右面的一个元素开始向左寻找第一个小于等于pivot的数值 4.经过2,3两个步骤后,将会出现以下两种情况 ​ (1):left和right没有相遇,此时进行交换,swap(arr,left,right); ​ (2):left和right相遇,做swap(arr,startIndex

2022-02-10 14:52:08 2335 1

空空如也

空空如也

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

TA关注的人

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