Lintcode刷题日记之287. 寻找重复数

原创 2018年04月16日 17:32:25

287寻找重复数

题目描述:

一个长度为 n + 1 的整形数组,其中的数字都在 1 到 之间,包括 1 和 n ,可知至少有一个重复的数字存在。假设只有一个数字重复,找出这个重复的数字。

注意:

  1. 不能更改数组内容(假设数组是只读的)。
  2. 只能使用恒定的额外空间,即要求空间复杂度是 O(1) 。
  3. 时间复杂度小于 O(n2)
  4. 数组中只有一个数字重复,但它可能不止一次重复出现。

Python解法:

class Solution:
    def findDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        a_set = set(nums) #转换为集合,集合中无重复元素
        sum_list = sum(nums) #求出原列表的和
        sum_set = sum(a_set) #求出新集合的和
        
        len_list = len(nums) #求出原列表的长度
        len_set = len(a_set) #求出新集合的长度
        
        result = (sum_list - sum_set) // (len_list - len_set)
        
        return result

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/langhahaha/article/details/79963123

寻找重复数字

#include #define N 100 int main() {     int a[N],b[N];     int n,i,j,k=0,find=0;     scanf("%d...
  • cup160828
  • cup160828
  • 2016-12-16 18:11:01
  • 135

LeetCode 287. Find the Duplicate Number(找重复数字)

原题网址:https://leetcode.com/problems/find-the-duplicate-number/ Given an array nums containing n + 1...
  • jmspan
  • jmspan
  • 2016-04-15 07:02:18
  • 988

leetcode 【287 Find the Duplicate Number】【Python】

本题同样让我们找数组中重复的数字,但是给出了很多限制条件。其实leetcode好像对一些限制条件,无法做出判断,我们还是自我严格要求的好哦!首先,第一个不可以改变数组,其实这个就是限制了我们排序,如果...
  • u014251967
  • u014251967
  • 2016-09-09 11:19:30
  • 339

287.leetcode Find the Duplicate Number(hard)[数组 重复元素]

Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro...
  • qz530308783
  • qz530308783
  • 2016-08-05 10:35:36
  • 231

leetcode 287. Find the Duplicate Number,数组中找重复的数

287. Find the Duplicate Number Given an array nums containing n + 1 integers where each integer is...
  • chenchaofuck1
  • chenchaofuck1
  • 2016-03-27 21:09:43
  • 1173

[Leetcode]287. Find the Duplicate Number简单解法及解释 双指针复杂度O(n)

题目链接:Find the Duplicate Number Given an array nums containing n + 1 integers where each integer is...
  • u011613729
  • u011613729
  • 2016-01-01 11:34:20
  • 4851

lintcode算法分析和解答

  • 2017年07月26日 18:31
  • 13.93MB
  • 下载

LintCode刷题(入门篇)

LintCode(入门篇)
  • tianshuai4317618
  • tianshuai4317618
  • 2017-11-06 15:21:03
  • 437

LintCode刷题(容易篇 四)

LintCode 1.两数组的交 2.两数组的交 II 3.左填充 4.最后一个单词的长度 5.最长上升连续子序列...
  • tianshuai4317618
  • tianshuai4317618
  • 2017-11-08 18:14:13
  • 63

lintcode(633)Find the Duplicate Number

描述: Given an array nums containing n + 1 integers where each integer is between 1 and n (incl...
  • sunday0904
  • sunday0904
  • 2017-05-16 08:52:27
  • 773
收藏助手
不良信息举报
您举报文章:Lintcode刷题日记之287. 寻找重复数
举报原因:
原因补充:

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