算法题:从数组找数字(网易2017校园招聘)
2017-10-16 14:50
246 查看
给定一个数组,除了一个数出现 1 次之外,其余数都出现 3 次。找出出现一次的数。如:{1,
2, 1, 2, 1, 2, 7}, 找出 7。
格式:
第一行输入一个数n,代表数组的长度,接下来一行输入数组A
,(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。
要求:
你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~
样例输入
4
0 0 0 5
样例输出
5
public static int search(int n, int[] arr) {
int a = 0, b = 0;
for (int i = 0; i < n; i++) {
b = a & (b ^ arr[i]);
a = b | (a ^ arr[i]);
}
return a;
}
给定一个数组,除了一个数出现 1 次之外,其余数都出现 3 次。找出出现一次的数。如:{1,
2, 1, 2, 1, 2, 7}, 找出 7。
格式:
第一行输入一个数n,代表数组的长度,接下来一行输入数组A
,(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。
要求:
你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~
样例输入
4
0 0 0 5
样例输出
5
请通过评论说出你的解答。如果有必要,请介绍一下解题思路。在评论中分享解题思路可以让其他人了解你的想法。你的解答帮助了其他人,其他人的解答也将帮助到你。期待大家参与 ^_^
2, 1, 2, 1, 2, 7}, 找出 7。
格式:
第一行输入一个数n,代表数组的长度,接下来一行输入数组A
,(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。
要求:
你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~
样例输入
4
0 0 0 5
样例输出
5
public static int search(int n, int[] arr) {
int a = 0, b = 0;
for (int i = 0; i < n; i++) {
b = a & (b ^ arr[i]);
a = b | (a ^ arr[i]);
}
return a;
}
给定一个数组,除了一个数出现 1 次之外,其余数都出现 3 次。找出出现一次的数。如:{1,
2, 1, 2, 1, 2, 7}, 找出 7。
格式:
第一行输入一个数n,代表数组的长度,接下来一行输入数组A
,(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。
要求:
你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~
样例输入
4
0 0 0 5
样例输出
5
请通过评论说出你的解答。如果有必要,请介绍一下解题思路。在评论中分享解题思路可以让其他人了解你的想法。你的解答帮助了其他人,其他人的解答也将帮助到你。期待大家参与 ^_^
相关文章推荐
- 算法题:从数组找数字(网易2017校园招聘) 2017-10-10 算法爱好者 (点击上方公众号,可快速关注) 给定一个数组,除了一个数出现 1 次之外,其余数都出现 3 次。找出出现一次的数。
- 算法爱好者——从数组找数字(网易2017校园招聘) ? 待解决
- 网易2017校园招聘笔试题 数字翻转
- 网易2017校园招聘笔试题:数字翻转
- 【算法】网易2017校园招聘笔试程序题(分田地)
- 网易2017校园招聘笔试题:数字翻转
- 猿辅导2017校园招聘笔试题 求和为0的最长连续子数组
- 百度2014校园招聘算法题--在数组中查找指定的元素t
- 2017趋势科技校园招聘算法题
- 网易2017校园招聘数据挖掘笔试题
- 网易2017校园招聘笔试题 跳石板
- 网易2017校园招聘笔试题 最大的奇约数
- 网易2017校园招聘数据挖掘笔试题编程题 分田地
- 优雅的点-2017网易校园招聘
- 网易校园招聘2017编程题--回文数问题
- 网易2017校园招聘笔试题 买苹果
- 【算法】创新工场涂鸦移动2017校园招聘测试题-A卷-软件工程师
- 网易2017校园招聘数据挖掘笔试题
- 微策略2011校园招聘笔试题(找出数组中两个只出现一次的数字)
- 网易互娱2017实习生招聘在线笔试第一场 题目1 : 电子数字