首页 > 其他 > 详细

136.只出现一次的数字;

时间:2021-04-08 18:01:03      阅读:21      评论:0      收藏:0      [点我收藏+]

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

method 1

时间复杂度比较高;

int nums[] = { 1,3,4,5,4,3,6,7,4,9,6,5,1,8,8 };
for (int i = 0; i < sizeof(nums)/sizeof(nums[0]); ++i)
    {
      int count=0;
      for (int j = 0; j < sizeof(nums) / sizeof(nums[0]); ++j)
          {
             if (nums[i] == nums[j])
             ++count;
          }
            if (count == 1)
            {

                return nums[i];
            }
    }
        return 0;

method 2

 int singleNumber(vector<int>&nums)
    {

        int ret = 0;
        for (const int& e : nums)
            ret ^= e;
        return ret;
    }

136.只出现一次的数字;

原文:https://blog.51cto.com/14982125/2692419

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!