解法一:模拟

Map 存储出现次数,找出第一个满足条件的数。

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. map<int, int> countMap;
  4. int nums[100005];
  5. int main() {
  6. int N;
  7. cin >> N;
  8. for (int i = 0; i < N; ++i) {
  9. cin >> nums[i];
  10. auto res = countMap.find(nums[i]);
  11. if (res == countMap.end()) {
  12. countMap.emplace(nums[i], 1);
  13. } else {
  14. res->second += 1;
  15. }
  16. }
  17. for (auto i:nums) {
  18. auto res = countMap.find(i);
  19. if (res != countMap.end() && res->second == 1) {
  20. cout << res->first << '\n';
  21. return 0;
  22. }
  23. }
  24. cout << "None\n";
  25. }