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

双指针-two pointers的应用

在这里插入图片描述
在这里插入图片描述
1.枚举输出解法:

#include <iostream>
using namespace std;
int num[1000];
int main(){int result,n;cin>>result>>n;for(int i=0;i<n;i++)cin>>num[i];for(int i=0;i<n;i++)for(int j=i+1;j<n;j++)if(num[i]+num[j]==result)cout<<num[i]<<","<<num[j]<<endl;return 0;
}

2.分别从头尾两个位置开始:

#include <iostream>
using namespace std;
int num[1000];
int main(){int result,n,x=0,y=0;cin>>result>>n;y=n-1;//末端for(int i=0;i<n;i++)cin>>num[i];if(x<n&&y<n)while(x<y){//分别从头尾开始比较if(num[x]+num[y]==result){//符合输出cout<<num[x]<<","<<num[y]<<endl;x++;y--;}else if(num[x]+num[y]<result)//比目标数小,x往右端,大数移动x++;else y--;//比目标数大,y往左端,小数移动}return 0;
}

由小到大合并两个递增序列

#include <iostream>
using namespace std;
int a[100],b[100],c[100];
int merge(int a[],int b[],int c[],int n,int m){int i=0,j=0,index=0;while(i<n&&j<m){//要不断比较装入:while循环if(a[i]<=b[j])c[index++]=a[i++];else c[index++]=b[j++];}while(i<n&&j>=m) c[index++]=a[i++];//当b序列已经遍历结束while(i>=n&&j<m) c[index++]=b[j++];//当a序列已经遍历结束return index;
}
int main(){int n,m,y=0;cin>>n>>m;for(int i=0;i<n;i++)cin>>a[i];for(int j=0;j<m;j++)cin>>b[j];y=merge(a,b,c,n,m);for(int j=0;j<y;j++){//避免多余的逗号if(j!=y-1)cout<<c[j]<<",";else cout<<c[j]<<endl;}return 0;
}

小结:通过下标进行充分比较判断处理

相关文章:

  • C++笔记之regex(正则表达式)
  • 线性表的插入
  • 移动端web开发布局
  • Spring Boot项目整合Seata AT模式
  • Electron基本介绍
  • Oracle数据表ID自增操作
  • 【附代码】NumPy加速库NumExpr(大数据)
  • 微信小程序上传代码教程
  • C#,十进制展开数(Decimal Expansion Number)的算法与源代码
  • linux查看当前连接的IP
  • 新版MQL语言程序设计:键盘快捷键交易的设计与实现
  • 【大厂AI课学习笔记】1.5 AI技术领域(1)计算机视觉
  • 【安卓操作系统——讲解】
  • ubuntu22.04安装部署03: 设置root密码
  • 【数据分析】Excel中的常用函数公式总结
  • ES6系统学习----从Apollo Client看解构赋值
  • MQ框架的比较
  • 不上全站https的网站你们就等着被恶心死吧
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 复杂数据处理
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 人脸识别最新开发经验demo
  • 如何进阶一名有竞争力的程序员?
  • 软件开发学习的5大技巧,你知道吗?
  • 使用权重正则化较少模型过拟合
  • 跳前端坑前,先看看这个!!
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ionic入门之数据绑定显示-1
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # 数论-逆元
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (八十八)VFL语言初步 - 实现布局
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .bat文件调用java类的main方法
  • .htaccess配置常用技巧
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET 分布式技术比较
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • ::before和::after 常见的用法
  • @EnableAsync和@Async开始异步任务支持
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [AIGC] MySQL存储引擎详解
  • [CTO札记]盛大文学公司名称对联
  • [emuch.net]MatrixComputations(7-12)
  • [FC][常见Mapper IRQ研究]
  • [IE编程] 如何设置IE8的WebBrowser控件(MSHTML) 的渲染模式