題目:給你一串數字,然後查詢數字v第k次出現的位置。
分析:數據結構。利用一個hash表對應每個數字,表中每個元素是一個bst記錄每次出現的位置。
利用map和vector直接處理即可。
說明:明天又要回家了╮(╯▽╰)╭。
#include <iostream> #include <map> #include <vector> using namespace std; map <int, vector<int> > Map; int main() { int n, m, k ,v; while (cin >> n >> m) { Map.clear(); for (int i = 0; i < n; ++ i) { cin >> v; Map[v].push_back(i+1); } for (int i = 0; i < m; ++ i) { cin >> k >> v; if (Map[v].size() < k) cout << 0 << endl; else cout << Map[v][k-1] << endl; } } return 0; }