首页 > 其他分享 >acwing 数组元素的目标和

acwing 数组元素的目标和

时间:2023-02-19 19:13:35浏览次数:47  
标签:main const 100010 int 元素 namespace 数组 include acwing

原题链接

image

题解

代码

双指针

#include "iostream"
using namespace std;
const int N = 100010;
int a[N],b[N];
int main(){
    int n,m,x;
    cin>>n>>m>>x;
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<m;i++)cin>>b[i];
    for(int i=0,j=m-1;i<n;i++){
        while (j>=0&&a[i]+b[j]>x)j--;
        if(a[i]+b[j]==x){
            cout<<i<<' '<<j;
            break;
        }
    }
}

二分查找

#include "iostream"
#include "algorithm"
using namespace std;
const int N = 100010;
int a[N],b[N];
int main(){
    int n,m,x;
    cin>>n>>m>>x;
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<m;i++)cin>>b[i];
    for(int i=0;i<n;i++){
        int target=x-a[i];
        if(binary_search(b,b+m,target))cout<<i<<' '<<lower_bound(b,b+m,target)-b;
    }
}

标签:main,const,100010,int,元素,namespace,数组,include,acwing
From: https://www.cnblogs.com/ChengMao/p/17135364.html

相关文章

  • 存在重复元素
    给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。/***@param{number[]}nums*@return{bo......
  • 【ASP.NET Core】标记帮助器——元素筛选
    前一篇中老周从标记帮助的底层介绍关键性的接口,如ITagHelper,它是一个标志,用于识别哪些类属于TagHelper。标记帮助器毕竟是针对HTML标记的,所以得筛选。说白了就是我......
  • 代码随想录-数组理论基础
    数组理论基础二分查找代码随想录(programmercarl.com)二分查找前提条件:有序数组且无重复元素,想好是用左闭右闭还是左闭右开!如果是前者,while(left<=right),left==r......
  • 第三章 字符串、向量和数组
    第三章字符串、向量和数组using声明使用某个命名空间:例如usingstd::cin表示使用命名空间std中的名字cin。头文件中不应该包含using声明。这样使用了该头文件的源码......
  • golang 数组
    1.概念golang中的数组是具有固定长度及相同数据类型的序列集合2.初始化数组var数组名[数组大小]数据类型packagemainimport"fmt"funcmain(){ //第一种 v......
  • lc83删除重复的元素
    /***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){val=x;}*}*/classSolution{......
  • acwing 判断子序列
    原题链接题解分析使用双指针,o为数组1的指针,p为数组2的指针因为数组2要比数组1大,所以使p每次循环自增,当有相同值,使o自增,最后检查o是否已经遍历完毕即可代码#includ......
  • 【算法】数组的前缀和 Prefix Sum
    算法中有前缀和这样一种很好的数据结构,它能极大地降低区间查询的时间复杂度前缀和-PrefixSum 它是这样的,假如有这样一个数组(序列), A=[a1,a2,a3,a4,a5,a6,......
  • 4. 寻找两个正序数组的中位数
    给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。 题解:采用了遍......
  • F - 树状数组 2【GDUT_22级寒假训练专题五】
    F-树状数组2原题链接思路在树状数组1中我们可以得知单点修改,区间查询(区间和)对原数组进行单点修改,对区间和进行树状数组维护利用差分和前缀和我们可以推导出区......