滴滴第一题随便写了写(内附内推面经,虽然上次发过了)

int solve(vector<int>& nums) {
	unordered_set<int> data;
	int res = 0;
	int local = 0;
	for (int i = 0; i < nums.size(); ++i) {
		local = local ^ nums[i];
		if (local == 0 || data.count(local)) {
			++res;
			local = 0;
			data.clear();
		}
		else {
			data.insert(local);
		}
	}
	return res;
}
简单来说就是用local记录一下前面的异或结果,比如说a^b^c^d的异或结果如果与a^b相等的话,那c^d就一定是0,这就找到了一个区间,然后清空临时数据,往后继续扫就行
今天有事,4点多开始做的滴滴笔试题
附上内推面经
通知9月7号下午三点面试,LZ2点40签的到。5点20开始面试,5点40面试结束,一面挂
LZ项目主要在C***服务器包括分布式存储相关。
面试官:会Java吗?
我:不会
面试官:哦,会C***啊,用的多么
我:挺多的
面试官:好的,主要写什么啊?
我:服务器之类的
面试官:那网络应该挺熟吧?
我:是的
面试官:会web开发吗?
我:???
面试官:知道http1.2吗?
我:???
面试官:写过cookie吗?
我:???
面试官:知道web中的加解密吗?
我:???
面试官:写个算法吧
我:好
面试结束,一面挂了
#滴滴##C++工程师#
全部评论
代码写的漂亮。我跟你思想一样,用的set,但是代码写的累赘了。
点赞 回复
分享
发布于 2017-09-10 17:01
说一下思路呗
点赞 回复
分享
发布于 2017-09-10 17:05
联想
校招火热招聘中
官网直投
网络好歹问个tcp 网络库, 感觉web开发和c++关系不太大。。
点赞 回复
分享
发布于 2017-09-10 17:07
代码写的好啊,我用的dp的想法,反而写的复杂了。
点赞 回复
分享
发布于 2017-09-10 17:13
大家看看就好
点赞 回复
分享
发布于 2017-09-10 17:17

相关推荐

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