失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 招商银行信用卡中心笔试编程题 - 序列找数

招商银行信用卡中心笔试编程题 - 序列找数

时间:2022-08-02 20:02:12

相关推荐

招商银行信用卡中心笔试编程题 - 序列找数

题目

序列找数

从非负整数序列 0, 1, 2, …, n中给出包含其中n个数的子序列,请找出未出现在该子序列中的那个数。

解法

代码

#include<iostream>#include<vector>using namespace std;int main(){int N,num,temp;vector<vector<int>> intervals;cin>>N;vector<int> current={0,N};intervals.push_back(current);for(int i=0;i<N;i++){cin>>num;if(intervals.empty()){current.clear();current.push_back(num);current.push_back(num);intervals.push_back(current);}else{for(int j=0;j<intervals.size();j++){if(num>=intervals[j][0]&&num<=intervals[j][1]){if(intervals[j][0]==intervals[j][1]){intervals.erase(intervals.begin() + j, intervals.begin() + j+1);}else if(intervals[j][0]==num){intervals[j][0]=num+1;}else if(intervals[j][1]==num){intervals[j][1]=num-1;}else{temp=intervals[j][1];intervals[j][1]=num-1;current.clear();current.push_back(num+1);current.push_back(temp);intervals.insert(intervals.begin()+j+1,current);}break;}}}}cout<<intervals[0][0]<<endl;return 0;}

如果觉得《招商银行信用卡中心笔试编程题 - 序列找数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。