zoukankan      html  css  js  c++  java
  • AcWing 800. 数组元素的目标和

    网址 https://www.acwing.com/solution/AcWing/content/2064/

    题目描述
    给定两个升序排序的有序数组A和B,以及一个目标值x,请你求出满足A[i] + B[j] = x的数对(i, j)。

    数据保证有唯一解。

    输入格式
    第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。

    第二行包含n个整数,表示数组A。

    第三行包含m个整数,表示数组B。

    输出格式
    共一行,包含两个整数 i 和 j。

    数据范围
    数组长度不超过1000000。
    同一数组内元素各不相同。
    1≤数组元素≤109

    样例
    输入样例:

    4 5 6
    1 2 4 7
    3 4 6 8
    输出样例:

    1 1

    (暴力枚举) O(n2)
    暴力就不说了 两重循环
    leetcode的第一题 也是简单 和这里的简单 意义完全不一样。
    差别大概就是学生面试和竟赛圈的区别吧

    但是我们可以一遍哈希法
    输入A组的时候 哈希表记录数值和数值所在数组的索引
    在输入B数组的时候 输入一个值 直接计算需要查找的值 也就是 X-input
    如果存在这里值 打印这个值在A数组的索引 + 空格 + 当前数字的索引

     1 #include <unordered_map>
     2 #include <iostream>
     3 #include <vector>
     4 #include <set>
     5 
     6 using namespace std;
     7 
     8 int n,m,x;
     9 unordered_map<int,int> ma;
    10 unordered_map<int,int> mb;
    11 
    12 int main()
    13 {
    14     scanf("%d %d %d",&n,&m,&x);
    15     int t;
    16     for(int i = 0;i <n;i++){
    17         scanf("%d",&t);
    18         ma[t] = i;
    19     }
    20 
    21     for(int i = 0;i <m;i++){
    22         scanf("%d",&t);
    23         int find = x-t;
    24         if(ma.count(find) != 0){
    25              cout << ma[find] << " " << i << endl;
    26         }
    27     }
    28 
    29 
    30 
    31     return 0;
    32 }
    33 
    34 作者:defddr
    35 链接:https://www.acwing.com/solution/AcWing/content/2064/
    36 来源:AcWing
    37 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    View Code
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    文本框输入内容提示消失的两种实现
    改变选择网页文字背景色
    软件增加一键处理功能
    全自动相机标定软件
    近景/低空摄影测量系统DPMatrix增加新功能
    DPMatrix软件新增了DEM/DOM制作模块,功能基本齐整!
    DPMatrix软件新增了图像匀光和色彩匹配批处理功能
    基于GPU/CUDA的全景图拼接
    基于GPU\CUDA并行处理技术的摄影测量
    软件与PATB平差数据交换
  • 原文地址:https://www.cnblogs.com/itdef/p/10886604.html
Copyright © 2011-2022 走看看