题解 | #寻找两头牛的情报关联#
寻找两头牛的情报关联
https://www.nowcoder.com/practice/5cb34321b6dd41bcbea3db454c2f6e9f
#include <unordered_map> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param info int整型vector * @param target_weight int整型 * @return int整型vector */ vector<int> findWeightRelation(vector<int>& info, int target_weight) { // write code here // 方法一:双指针 // 因为题目有p1<p2,证明p1!=p2,所以使用哈希表不用担心元素相同的问题 // 方法二:哈希表 unordered_map<int, int> um; for(int i=0; i<info.size(); ++i) { // 确保保留下标最小的重复元素 if(um.count(info[i])==0) um[info[i]] = i; } vector<int> ans = {-1,-1}; // 再遍历一次 for(int i=0; i<info.size(); ++i) { cout << target_weight-info[i] << endl; if(um.count(target_weight-info[i]) && i<um[target_weight-info[i]]) { ans[0] = i+1; ans[1] = um[target_weight-info[i]]+1; break; } } return ans; } };