首页 > 其他分享 > 复习知识,学习单链表数组实现 (9/4)

复习知识,学习单链表数组实现 (9/4)

时间:2023-09-04 21:35:17浏览次数:41  
标签:AA 单链 复习 BB int 整数 ++ 数组

双指针经典题目

800. 数组元素的目标和

给定两个升序排序的有序数组 AA 和 BB,以及一个目标值 xx。

数组下标从 00 开始。

请你求出满足 A[i]+B[j]=xA[i]+B[j]=x 的数对 (i,j)(i,j)。

数据保证有唯一解。

输入格式

第一行包含三个整数 n,m,xn,m,x,分别表示 AA 的长度,BB 的长度以及目标值 xx。

第二行包含 nn 个整数,表示数组 AA。

第三行包含 mm 个整数,表示数组 BB。

输出格式

共一行,包含两个整数 ii 和 jj。

数据范围

数组长度不超过 105105。
同一数组内元素各不相同。
1≤数组元素≤1091≤数组元素≤109

输入样例:

4 5 6
1 2 4 7
3 4 6 8 9

输出样例:

1 1
//运用双指针减少了时间复杂度,优化了算法,j走的次数减少
#include<iostream> using namespace std; const int N = 1e5 + 10; int a[N], b[N]; int main() { int n, m, x; cin >> n >> m >> x; for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (int i = 0; i < m; i++) scanf("%d", &b[i]); for (int i = 0,j = m - 1; i < n; i++)//注意j一定放在for循环里面 { while (j >= 0 && a[i] + b[j] > x) j--; if (j>=0&&a[i] + b[j] == x) { cout<<i<<' '<<j<<endl; break; } } return 0; }

 




标签:AA,单链,复习,BB,int,整数,++,数组
From: https://www.cnblogs.com/daimazhishen/p/17678138.html

相关文章

  • java基础-数组-day06
    1.引入数组录入10个学生的成绩求和求平均importjava.util.Scanner;publicclassTestArray01{publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intsum=0; for(inti=1;i<=10;i++){ System.out.println("请输入第"+i+"......
  • js怎么删除数组元素多种方法
    1.根据索引删除数组元素delete数组[索引]  vararr1=["aa","bb","cc","dd"];deletearr1[2];运行之后:arr=["aa","bb",undefined,"dd"];delete  它是将内容删除为空,但是元素的个数不变2.根据元素内容直接删除数组元素splice(inde......
  • JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
    一、遇到问题在 继续更新完善:C++结构体代码转MASM32代码 中,由于结构体成员中可能为数组类型的情况,因此我们在提取结构体成员信息的过程中,需要检测结构体成员名称字符串中是否包括[],如果包括那么我们要截取'['前面的内容作为成员名称。在用字符串的indexOf()方法检测和定位'['......
  • JAVA-基本程序设计结构(控制流程、数组)
    1.控制流程1.块作用域1.块(即复合语句)由若干条Java语句组成,并用一对大括号括起来。2.块确定了变量的作用域。3.一个块可以嵌套在另一个块中。但是不能在嵌套的两个块中声明同名的变量。2.顺序控制顺序控制:程序从上到下逐行地进行,中间没有任何判断和跳转Java中定义成员变量时......
  • SQL备忘-基本控制语句复习及@@ROWCOUNT陷阱纪实
    作者fbysss关键字:SQL语句      好久不写复杂的sql语句,以至于很多东西都忘记。以至于写出@name="sss"来(应该使用单引号)还是写日志好,一些小的知识点很快可以查到,所以有机会就赶紧贴上来,顺便给需要的人参考。下面这段很简单,但是很容易陷入@@rowcount的“想当然”陷阱。declare......
  • 树转数组的实现方法
    //树形数据constlistTree=[{id:1,name:'部门1',pid:0,children:[{id:2,name:'部门1-1',pid:1,children:[{id:4,name:'部门1-1-1......
  • 2845. 统计趣味子数组的数目-361
    2845.统计趣味子数组的数目给你一个下标从0开始的整数数组nums,以及整数modulo和整数k。请你找出并统计数组中趣味子数组的数目。如果子数组nums[l..r]满足下述条件,则称其为趣味子数组:在范围[l,r]内,设cnt为满足nums[i]%modulo==k的索引i的数量。......
  • 数据结构-树状数组
    新接触到的数据结构,根据百度百科:树状数组或二叉索引树(英语:Binary IndexedTree),又以其发明者命名为Fenwick树,最早由PeterM.Fenwick于1994年以ANewDataStructure for Cumulative Frequency Tables为题发表在SOFTWARE PRACTICE ANDEXPERIENCE。其初衷是解决数据压缩里......
  • JS判断一个数组中是否有重复值
    方法一:  varary=newArray("111","22","33","111");varnary=ary.sort();for(vari=0;i<ary.length;i++){if(nary[i]==nary[i+1]){alert("数组重复内容:"+nary[i]);......
  • js操作Array数组大全
    unshift:将参数添加到原数组开头,并返回数组的长度 pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined push:将参数添加到原数组末尾,并返回数组的长度 concat:返回一个新数组,是将参数添加到原数组中构成的 splice(start,deleteCount,val1,val2,...):从start位置......