算法双指针

萌新的第一篇正式内容,如有错误,请指正。

双指针简介

双指针感觉更像是一种思想,使用两个指针在从两边向中间或者从一边同时开始但速度不同,也就是同向指针,快慢指针。双指针可以用来解决数组中元素的互换,并且还可以解决时间复杂度的问题,如果在某道题中用自己的方法会出现时间限制并且可以用双指针的话,不妨考虑一下它。双指针还可以解决在一定范围内要求的内容,比如说在一组连续的数中寻找一个或多个一定范围内的数的和为一个固定的值,或者寻找小于等于一个固定的值的范围等,下面我举几个例子,感觉说的好像废话啊,直接上题。

例子

1.反转一个字符串

给定一个字符数组将它反转。

下面是一个反转hello的代码

输出后就会变成olleh,还是很有趣的。

2.连续自然数和 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1147

这是一个求一定范围内的自然数之和为M的题,从这个题中我们可以找到大致双指针的用法,下面是题解:

很粗糙,请多多包涵。

结尾

大致就这样了,关键是要多做题,我这只能算是一个引子(可能连引子都不算,写的太拉垮了),不过下面还有一些题,你们可以写写,应该可以让你们提高。

【深基附B例】区间最大和 - 洛谷

  逛画展 - 洛谷

  「EZEC-10」排列排序 - 洛谷

   A-B 数对 - 洛谷

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值