题目描述:
从0,1,2,…,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(n)尽可能小。
输入描述:
给定一个以逗号(,)分割的数字串。
输出描述:
输出缺失的数字
输入:
0,1,2,3,4,5,7
输出:
6
题意:
题目描述
题解:
乱搞
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn = 1000000 + 5;
char s[maxn];
int main(){
while(scanf("%s",s)!=EOF){
vector<int>v;
int l = strlen(s);
int x = 1;
int sum = 0;
for(int i = 0; i < l; i ++){
if(s[i] == ','){
if(sum == 0) continue;
if(sum == x){
sum = 0;
x ++;
}
else{
break;
}
}
else{
int t = s[i] - '0';
sum = sum * 10 + t;
}
}
printf("%d\n",x);
}
return 0;
}