大佬们,使用vector解的,但前四个样例没过·····
查看原帖
大佬们,使用vector解的,但前四个样例没过·····
904405
FreeDomMan楼主2023/7/3 17:22
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main(){
	//都是初始化 
    int m,n;
    cin>>m>>n;
    int ans=0;
    vector<int>vec;
    //开始循环,每次循环判断一次 
    while(n>0){
        int num;
        cin>>num;
        //如果没找到目标 
        if(find(vec.begin(),vec.end(),num)==vec.end()){
        	vec.insert(vec.begin(),num);
        	//如果超出范围 
            if(vec.size()>=m){
            	vec.pop_back();
            }
            //进行特殊情况(正好最后一个数是目标)的判定 
            if(vec.back()!=num){
			 ans++;	
			}
        }
        n--;
    }
    cout<<ans<<endl;
}

对了,还有一个神奇的事情,第一个样例点1 5 714 714 714 714 430,我的错误结果是5。 我每次循环都输出一下vec.back(),结果都是 469781390这乱码!! 请各位大佬帮忙看看这代码哪里考虑不周,谢谢!

2023/7/3 17:22
加载中...