Sigl num @leetcode

转载 2013年12月03日 15:05:38

eetcode -- Single Number

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

Could you implement it without using extra memory?

[解题思路]

以前看书时遇到过,一个数组中有一个元素出现一次,其他每个元素都出现两次

要求空间复杂度为O(1)

由于两个相同的元素异或的结果为0,而0^a==a,将数组中所有元素都进行异或,得到结果就是只出现一次的元素

复制代码
 1 public class Solution {
 2     public int singleNumber(int[] A) {
 3         // Note: The Solution object is instantiated only once and is reused by each test case.
 4         if(A == null || A.length == 0){
 5             return 0;
 6         }
 7         int result = A[0];
 8         
 9         for(int i = 1; i < A.length; i++){
10             result = result ^ A[i];
11         }
12         return result;
13     }
14 }
复制代码

 

本题扩展

1.一个数组中有两个元素只出现一次,其他所有元素都出现两次,求这两个只出现一次的元素

[解题思路]

将数组所有元素都进行异或得到一个不为0的结果,根据这个结果中的不为0的某一位将数组分成两组

将两组中的元素进行异或,如两个数组的异或值都不为0,则得到最后结果

 

2.一个数组中有一个元素只出现1次,其他所有元素都出现k次,求这个只出现1次的元素

[解题思路]

当k为偶数时,同lss

当k为奇数时,将数组中每个元素的每一位相加mod k,得到结果即位出现1次的元素,时间复杂度O(nlen),空间复杂度为O(1)

【python】【leetcode】【算法题目2—Add Two Numbers】

【python】【leetcode】【算法题目2—Add Two Numbers】 题目原文: You are given two linked lists representing two non-...
  • u014615155
  • u014615155
  • 2016年11月21日 12:05
  • 1773

[LeetCode刷题笔记] 关于LeetCode的前言

又到了一年毕业就业季了,三年前的校招季我逃避了,可这一次终于还是要轮到我了=_=||。 作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢? LeetCode收录了许多互联网...
  • tostq
  • tostq
  • 2016年07月22日 21:32
  • 2956

[LeetCode]二叉树题目总结

【LeetCode】二叉树习题个人总结 近一个月来,刷了不少LeetCode题目。但是总还是感觉提高的不多,自己最初想的一边做一边总结的初衷也没有正常执行,今晚静下心来,总结一下和二叉树有关的题目。...
  • loveRooney
  • loveRooney
  • 2014年06月19日 20:30
  • 3689

Leetcode_num15_Maximun Subarray

题目:Find the contiguous subarray within an array (containing at least one number) which has the large...
  • Eliza1130
  • Eliza1130
  • 2014年10月12日 00:39
  • 823

leetcode 第一题 Two Num java

public class Solution { public int[] twoSum(int[] numbers, int target) { int length=numb...
  • wen1158646729
  • wen1158646729
  • 2015年03月08日 11:08
  • 481

Leetcode_num4_Reverse Integer

题目: Reverse digits of an integer. Have you thought about this? Here are some good questions to as...
  • Eliza1130
  • Eliza1130
  • 2014年09月18日 18:09
  • 811

leetcode_num6_Zigzag

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (y...
  • Eliza1130
  • Eliza1130
  • 2015年03月27日 18:23
  • 516

1.Two Num | LeetCode OJ(浅谈hash_map,和map)

September 23, 2016 作者:dengshuai_super 出处:http://blog.csdn.net/dengshuai_super/article/details/52...
  • dengshuai_super
  • dengshuai_super
  • 2016年09月23日 13:40
  • 571

LeetCode Num34_Search for a Range

问题描述:   Given a sorted array of integers, find the starting and ending position of a given target ...
  • BayINGbf
  • BayINGbf
  • 2015年01月04日 11:37
  • 451

LeetCode Num74_Search a 2D Matrix

问题描述:   Write an efficient algorithm that searches for a value in an m x n matrix. This mat...
  • BayINGbf
  • BayINGbf
  • 2015年01月06日 19:29
  • 491
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sigl num @leetcode
举报原因:
原因补充:

(最多只允许输入30个字)