zoukankan      html  css  js  c++  java
  • 力扣 | 只出现一次的数字

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

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1
    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/single-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    思路:

    位操作:a^b^a=b

    #include<stdio.h>
    #include<stdlib.h>
    int singleNumber(int* nums, int numsSize)
    {
    	int k=nums[0];
        for(int i=1;i<numsSize;++i)
        {
            k=(k^nums[i]);
        }
        return k;
    }
    int main()
    {
    	int arr[]={2,2,1,4,1,4,5};
    	int r = singleNumber(arr,7);
    	printf("%d",r);
    	return 0;
    }
    

      

  • 相关阅读:
    [JSOI2016]最佳团体
    CF125E MST Company
    CF482C Game with Strings
    CF379F New Year Tree
    CF1051F The Shortest Statement
    小a和uim之大逃离
    新魔法药水
    翻硬币
    [CQOI2017]小Q的棋盘
    UVA11729突击战
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/11834804.html
Copyright © 2011-2022 走看看