Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
154232 胡海峰老师 18第一次出现与最后一次出现的位置 C++ Accepted 1 MS 288 KB 930 2026-05-28 15:14:14

Tests(10/10):


Code:

#include <iostream> #include <vector> int main() { int n; if (!(std::cin >> n)) return 0; std::vector<int> arr(n); for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } int m; std::cin >> m; int first_pos = -1; int last_pos = -1; // 遍历整个数组 for (int i = 0; i < n; ++i) { if (arr[i] == m) { // 如果这是第一次找到m(first_pos 仍为 -1) if (first_pos == -1) { first_pos = i + 1; // 记录下标(题目要求从1开始) } // 不论是否第一次找到,只要找到了,就更新最后一次出现的位置 last_pos = i + 1; } } // 输出结果 if (first_pos == -1) { std::cout << -1 << std::endl; } else { std::cout << first_pos << " " << last_pos << std::endl; } return 0; }