当前位置: 首页 > news >正文

双指针算法

1、分类

(1) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作

(2) 对于一个序列,用两个指针维护一段区间

2、核心思想

 for( int i = 0 ; i<n;i ++ )for( int j = 0 ; j < n ; j ++ )时间复杂为O(n^2)

正常做题的时候一般都会使用两个for循环来解决问题

双指针算法的作用就是为了上面的朴素算法的时间复杂度优化到O(n)

3、代码模版

for( i = 0 ,j==0 ;i<n; i ++ ){while( j < i && check(i,j) )  j ++;//每道题的具体逻辑}

4、测试题

给定一串字符,每段字符之间可能会有空格,以空格为会车点输出结果

案例:

abd des ajs

结果:

abd

des

ajs

 
#include <iostream>#include <string.h>​using namespace std;​int main(){char str[100];//读入该字符gets_s(str,100);//计算字符的长度int n = strlen(str);​for (int i = 0; i < n; i++){int j = i;//该条件下,最终j的位置停留在空格的地方while (j < n && str[j] != ' ') j++;​//具体逻辑for (int k = i; k < j; k++)cout << str[k];cout << endl;//赋值给i之后,i ++ 从下一个字符开始i = j;}​return 0;}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 力扣-200.岛屿数量
  • 广州城市信息模型(CIM)白皮书学习
  • 【iOS】暑假第二周——网易云APP 仿写
  • 【TwinCAT3教程】IEC61131-3编程基础
  • Yolov8添加ConvNetV1和V2模块
  • PostgreSQL数据库内核(二):通过initdb传递guc参数
  • [安洵杯 2019]easy_web1
  • 微信小程序接口实现语音转文字
  • 牛客周赛 Round 54 (c++题解)
  • 使用Echarts来实现数据可视化
  • python-查找元素3(赛氪OJ)
  • minio文件上传
  • 书籍去掉字符串中连续出现k个0的子串
  • Linux防火墙2
  • JS+H5美观的带搜索的博客文章列表(可搜索多个参数)
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Android 控件背景颜色处理
  • angular2开源库收集
  • jdbc就是这么简单
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vim 折腾记
  • vue的全局变量和全局拦截请求器
  • 初探 Vue 生命周期和钩子函数
  • 计算机在识别图像时“看到”了什么?
  • 开源SQL-on-Hadoop系统一览
  • 数据仓库的几种建模方法
  • 阿里云重庆大学大数据训练营落地分享
  • 函数计算新功能-----支持C#函数
  • 选择阿里云数据库HBase版十大理由
  • ${ }的特别功能
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (HAL库版)freeRTOS移植STMF103
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计大学生兼职系统
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十三)MipMap
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)http协议
  • (转)可以带来幸福的一本书
  • .NET C# 使用 iText 生成PDF
  • .NET Core跨平台微服务学习资源
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka