题解 | 找x

找x

https://www.nowcoder.com/practice/069e2130430c41229ab25e47fa0949a6

#include<stdio.h>
using namespace std;
#include<vector>
#include<algorithm>

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        vector<int> vec1(n);
        for(int i=0;i<n;i++){
            scanf("%d",&vec1[i]);
        }
        int x;
        scanf("%d",&x);
       //法1:遍历动态数组查找x
        for(int i=0;i<n;i++){
            if(vec1[i]==x){
                printf("%d\n",i);
                return 0;
            }
        }
        printf("%d\n",-1);

    }
  //法2:如果find函数找到了x,就会返回一个迭代器类型值
        vector<int>::iterator it;
        it=find(vec1.begin(),vec1.end(),x);
       if(it==vec1.end()){
        printf("-1\n");
       }else{
        //it迭代器相当于指针,减去起始位置得到距离值
        printf("%d\n",it-vec1.begin());
       }

    return 0;
}

计算机复试机试(王道版) 文章被收录于专栏

收录王道2026年计算机复试机试的(课程)代码题解,仅供个人学习参考

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务