1 条题解

  • 0
    @ 2026-1-29 18:57:22
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 存储输入的N个数字(数组大小满足N≤100000的题目要求)
    int arr[100010];
    
    int main() {
        int n;
        cin >> n; // [2] 输入数字的总个数N
        // [3] 循环读取N个数字并存储到数组
        for(int i = 0; i < n; i++) {
            cin >> arr[i];
        }
        int m;
        cin >> m; // [4] 输入要查找的目标数字M
    
        int count = 0; // [5] 初始化M出现的次数为0
        int first_pos = 0; // [6] 初始化M首次出现的位置为0(未找到状态)
        // [7] 遍历数组,统计次数并记录首次位置
        for(int i = 0; i < n; i++) {
            if(arr[i] == m) {
                count++; // [8] 每找到一次M,次数加1
                if(first_pos == 0) {
                    first_pos = i + 1; // [9] 首次找到时,记录位置(题目中位置从1开始计数)
                }
            }
        }
    
        // [10] 输出首次出现的位置和总次数
        cout << first_pos << " " << count << endl;
    
        return 0;
    }
    
    • 1

    信息

    ID
    1180
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者