今日头条编程题,考试场数,AC90%,错在哪?附代码。

#include <iostream>  
#include <vector>
#include <algorithm>
using namespace std;
int getExtraExam(vector<int> &vec) {
	int n = vec.size();
	if (n == 0)
		return 0;
	sort(vec.begin(), vec.end());
	int res = 0;
	for (int i = 0; i < n - 1; i++) {
		int dif = vec[i + 1] - vec[i];
		if (dif <= 10)
			continue;
		else if (dif > 0 && dif % 10 == 0) {
			res += (dif / 10 - 1);
		}
		else if (dif > 0 && dif % 10 != 0) {
			res += dif / 10;
		}
	}
	while ((n + res) % 3 != 0)
		res++;
	return res;
}
int main() {
	int n;
	while (cin >> n) {
		vector<int> vec(n, 0);
		for (int i = 0; i < n; i++)
			cin >> vec[i];
		cout << getExtraExam(vec) << "\n";
    }
	return 0;
}
只AC90%,看了半天不知道错在哪。。
第二题也完全不会,写了个暴搜提交了。
过个笔试好难啊...

已经知道错在哪了,大家不用再回复了。

#字节跳动#
全部评论
我也是90
点赞 回复
分享
发布于 2016-09-21 21:50
随手写了个用例  5 1 2 3 20 90  没过,不能用diff/10判断加入的场次
点赞 回复
分享
发布于 2016-09-21 21:59
联想
校招火热招聘中
官网直投
可以用贪心的
点赞 回复
分享
发布于 2016-09-21 22:07
10 60 80 90 100可破楼主代码!
点赞 回复
分享
发布于 2016-09-21 22:10
先开始 90后来随便改了改 AC了
点赞 回复
分享
发布于 2016-09-21 22:25

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务