专栏首页Mybatis学习Day1-1 leetcode 136 :Single numble

Day1-1 leetcode 136 :Single numble

合理采用位运算 Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?

两种解法,第一个是嵌套循环遍历,但是时间复杂度较高,消耗了太多的内存

C语言形式:

方法一:

int singleNumber(int* nums, int numsSize)
{
	//遍历数组中的元素
    for(int i=0;i<numsSize;i++)
    {
    	//定义一个计数的count
        int count =0;
        //第二次遍历,统计字符出现的次数
        for(int j =0;j<numsSize;j++)
        {
            if(nums[j]==nums[i])
                count ++;
        }
        //如果计数只有一个,则返回对应的元素
        if(count == 1)
            return nums[i];
    }
    return -1;
}

方法二:位运算,时间复杂度和空间复杂度较低

int singleNumber(int* nums, int numsSize)
{
    int n = nums[0];
    for(int i =1;i<numsSize;i++)
    {
        n = n^nums[i];
    }
    return n;
}

Python形式:

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        n = nums[0]
        for i in range(1,len(nums)):
            n = n^nums[i]
        return n

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • leetcode-136-Single Number

    chenjx85
  • Leetcode 136 Single Number

    Given an array of integers, every element appears twice except for one. Find th...

    triplebee
  • LeetCode 136 Single Number

    ShenduCC
  • 【LeetCode】136. Single Number

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    韩旭051
  • Leetcode-Easy 136. Single Number

    136. Single Number 描述: 有一个数组,数字都出现两次,只有一个数字出现一次,找出现一次的数字 ? 思路: 现将数组去重...

    致Great
  • Leetcode Golang 136. Single Number.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88966147

    anakinsun
  • C#版 - Leetcode 136. Single Number题解

    在线提交: https://leetcode.com/problems/single-number/

    Enjoy233
  • 【LeetCode每日打卡】136. Single Number

    Given a non-empty array of integers, every element appears twice except for one....

    韩旭051
  • 【LeetCode 136】 关关的刷题日记32 Single Number

    关关的刷题日记32 – Leetcode 136. Single Number 题目 Given an array of integers, every ele...

    WZEARW
  • LeetCode 136:只出现一次的数字 Single Number

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

    爱写bug
  • R Programming-week1 Subsetting

    Thereare a number of operators that can be used to extract subsets of R objects.

    统计学家
  • 【剑指offer:数组中数字出现的次数I】使用异或运算来分组(JavaScript实现)

    题目描述:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度是 O(1)...

    心谭博客
  • 【LeetCode 137.只出现一次的数字II】三种解法:哈希表、数学技巧和位运算(JavaScript实现)

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

    心谭博客
  • python中的异或运算

    leetcode上有这么一道题:【136. Single Number】 这个题是给出一个非空列表,里面的元素只有一个只出现了一次,其余都出现了两次,找出这个...

    生信编程日常
  • leetcode-268-Missing Number(异或)

    Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find th...

    chenjx85
  • 【leetcode系列】136. 只出现一次的数字

    https://leetcode.com/problems/single-number/description/

    lucifer210
  • Baozi Training Leetcode solution 772: Basic Calculator III

    Implement a basic calculator to evaluate a simple expression string.

    包子面试培训
  • LeetCode 137. 只出现一次的数字 II(位运算)

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

    Michael阿明
  • LeetCode 260. 只出现一次的数字 III(位运算)

    给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。

    Michael阿明

扫码关注云+社区

领取腾讯云代金券