题解 | #出现一次的数字#

出现一次的数字

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);
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
6
1
分享
牛客网
牛客企业服务