题解 | #出现一次的数字#
出现一次的数字
http://www.nowcoder.com/practice/0bc646909e474ac5b031ec6836a47768
题目描述:现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。
注意:你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
示例1:
输入:[1,0,1]
返回值:0
思路:直接使用暴力遍历法,对数组中每个元素进行筛选,判断有无其他元素与其相等,若没有则返回该元素的值。具体代码如下:
class Solution { public: /** * * @param A int整型一维数组 * @param n int A数组长度 * @return int整型 */ int singleNumber(int* A, int n) { // write code here int i=0,j=0; bool flag = false; for(i=0;i<n;i++) { j=0; for(;j<n;j++) if(*(A+j) == *(A+i) && j != i) break; if(j == n) { flag = true; break; } } if(!flag) return -1; else return *(A+i); } };