zoukankan      html  css  js  c++  java
  • 数据结构_find_lucky_number(寻找幸运值)

    数据结构_find_lucky_number(寻找幸运值)

    问题描述

      给出两个已按升序排列的数组 a[1..n],b[1..m],如果存在 i,j,使得
    a[i]+b[j]==k,我们便说已找到幸运值。请你判断能不能找到幸运值。


    ★数据输入

      输入第一行为正整数 n, m, k。 (1<=k<=10^9)
      第二行为 n 个正整数 a[1..n]。 (1<=ai<=10^9)
      第三行为 m 个正整数 b[1..m]。 (1<=bi<=10^9)
      80%的数据 1<=n,m<=1000.
      100%的数据 1<=n,m<=100000.


    ★数据输出
      如果能找到幸运值,输出 yes。否则输出 no

    输入示例 输出示例
    3 3 8
    1 2 3
    4 6 7
    yes


    输入示例 输出示例
    3 3 4
    1 2 3
    4 6 7
    no



    解题思路

      二分查找  找指定值

     

    code

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int pm[100002]={0};
     5 int pn[100002]={0};
     6 
     7 bool BinarySearch(int *p, int l, int r, int num)
     8 {
     9     bool flag = false;
    10     while(l<=r)
    11     {
    12         int m = (l+r)/2;
    13         if(p[m]==num)
    14         {
    15             flag = true;
    16             break;
    17         }
    18         else if(p[m]<num)
    19             l = m+1;
    20         else
    21             r = m-1;
    22     }
    23     return flag;
    24 }
    25 
    26 int main()
    27 {
    28     int n,m,k,i;
    29     scanf("%d %d %d",&n,&m,&k);
    30 //    int *pn = (int *)malloc(sizeof(int)*n);
    31 //    int *pm = (int *)malloc(sizeof(int)*m);
    32     for(i=0;i<n;i++)
    33         scanf("%d",pn+i);
    34     for(i=0;i<m;i++)
    35         scanf("%d",pm+i);
    36 
    37     bool flag = false;
    38     for(i=0;i<n;i++)
    39     {
    40         if(BinarySearch(pm,0,m-1,k-pn[i]))
    41         {
    42             flag = true;
    43             break;
    44         }
    45     }
    46 
    47     if(flag)
    48         printf("yes
    ");
    49     else
    50         printf("no
    ");    
    51     
    52     
    53 //    free(pn);
    54 //    free(pm);
    55     return 0;
    56 }
  • 相关阅读:
    JavaScript中get和set访问器的实现
    Vue render 函数和JSX语法的使用
    vue项目将第三方包以cdn的方式引入页面不显示
    今天帮忙HMF这位ui大神(傻)解决的小问题。
    SET
    webpack 折腾
    sass折腾
    gulp折腾
    css3
    js递归函数
  • 原文地址:https://www.cnblogs.com/cbattle/p/7577423.html
Copyright © 2011-2022 走看看