R7-2 二分查找

Author Avatar
小包
发表:2024-11-03 04:36:10
修改:2024-12-12 15:57:39

利用二分查找找出所给出的数在数组中的下标

输入格式:

第一行输入n和m表示数组有n个数据,m表示要对m个数进行查找

输出格式:

所有输出在一行完成,行末没有多余空格和多余回车。

输入样例:

5 5
1 2 3 4 5
1 2 3 4 5```

### 输出样例:
```out
0 1 2 3 4
#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

int main() {
    int n, m, x;
    scanf("%d %d", &n, &m);
    vector<int> arr(n);
    unordered_map<int, int> indexMap;
    
    for (int i = 0; i < n; i++) {
        scanf("%d", &x);
        indexMap[x] = i;
    }
    
    for (int i = 0; i < m; i++) {
        scanf("%d", &x);
        printf("%d", indexMap.count(x) ? indexMap[x] : -1);
        if (i < m - 1) printf(" ");
    }
}

评论