zoukankan      html  css  js  c++  java
  • 九度oj 题目1349:数字在排序数组中出现的次数

    题目描述:
    统计一个数字在排序数组中出现的次数。
    输入:

    每个测试案例包括两行:

    第一行有1个整数n,表示数组的大小。1<=n <= 10^6。

    第二行有n个整数,表示数组元素,每个元素均为int。

    第三行有1个整数m,表示接下来有m次查询。1<=m<=10^3。

    下面有m行,每行有一个整数k,表示要查询的数。

    输出:
    对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。
     
    样例输入:
    8
    1 2 3 3 3 3 4 5
    1
    3
    
    样例输出:
    4

    使用库函数即可解决
     1 #include <cstdio>
     2 #include <algorithm>
     3 using namespace std;
     4  
     5 int n, m ,k;
     6 int num[1000002];
     7  
     8 int main(int argc, char const *argv[])
     9 {
    10     while(scanf("%d",&n) != EOF) {
    11         for(int i = 0; i < n; i++) {
    12             scanf("%d",&num[i]);
    13         }
    14         scanf("%d",&m);
    15         while(m--) {
    16             scanf("%d",&k);
    17             int ans = upper_bound(num, num+n, k) - lower_bound(num, num+n, k);
    18             printf("%d
    ",ans);
    19         }
    20     }
    21     return 0;
    22 }

    本来考虑这样做会快一些,可是并没有

     1 #include <cstdio>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 int n, m ,k;
     6 int num[1000002];
     7 
     8 int main(int argc, char const *argv[])
     9 {
    10     while(scanf("%d",&n) != EOF) {
    11         for(int i = 0; i < n; i++) {
    12             scanf("%d",&num[i]);
    13         }
    14         scanf("%d",&m);
    15         while(m--) {
    16             scanf("%d",&k);
    17             int low = lower_bound(num, num+n, k)-num;
    18             int ans = 0;
    19             for(int i = low; i < n && (num[i] == k); i++) {
    20                 ans++;
    21             }
    22             printf("%d
    ",ans);
    23         }
    24     }
    25     return 0;
    26 }
  • 相关阅读:
    jmeter之正则表达式
    python_appium搭建APP自动化测试环境
    网络编程
    四种单例模式
    Pycharm快捷键
    面向对象
    阶段性总结
    模块之numpy,pandas,matplotlib
    模块之json,pickle,os,sys,logging
    模块之Time,datatime,hashlib,hmac
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5806585.html
Copyright © 2011-2022 走看看