11.6 蓝桥杯:双指针、二分

一、双指针

1.简介

1.1常用在数组或字符串中快速查找、匹配、排序或移动

1.2双指针即用两个变量表示下标,根据问题移动指针

1.3双指针往往和单调性、排序联系在一起。可以把O(n²)降到O(n)

2.双指针类型

2.1对撞指针

2.1.1:两个指针left,right分别指向第一个元素和最后一个元素,l指针不断递增,r不断递减。直到两个指针相撞或错开(l>=r),或满足其他要求的特殊条件为止

a.用于解决有序数组或字符串问题(常见于区间问题)

b.查找有序数组中满足某些约束条件的一组元素问题:二分查找、数字之和等问题

c.字符串反转问题:反转字符串、回文数、颠倒二进制等问题

2.1.2求解步骤

2.2快慢指针

2.2.1简介:

指的是从同一侧开始遍历序列,且移动步长一个快一个慢

称快指针r,满指针l,构成区间[l,r],l=1;r-0。初始时[l,r]=[1,0]表示空区间

两个指针以不同速度、不同策略移动,直到快指针移动到数组尾端、或者两指针相交或满足其他条件为止

2.2.2求解步骤

二、二分法

1.二分法简介

2.整数二分

通过值找到下标或分界点

2.1简介

2.2模板

3.浮点二分(了解)

4.二分答案(最常见)

4.1简介

4.2模板

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值