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 }
  • 相关阅读:
    [转]天龙八部的BillingServer
    [转]天龙八部服务器端Lua脚本系统
    [转]天龙八部服务器端-共享内存的设计
    TCPSocket v1.0 for cocos2d-x下载
    httpclient模拟浏览器getpost
    常用的32中算法
    我在城市快节奏中的慢生活
    分段与分页机制小结
    lua中dofile、loadfile、require区别
    两个链表相交以及第一个公共节点的问题
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5806585.html
Copyright © 2011-2022 走看看