Advertisement

《剑指 Offer》Java实现版(电子科技大学最新)

阅读量:

LeetCode-剑指offer全题解析

1、03数组中重复的数字

复制代码
    找出数组中重复的数字。
    在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
    
    示例 1:输入:
    [2, 3, 1, 0, 2, 5, 3]
    输出:2 或 3 
    限制:
    2 <= n <= 100000
    
    
      
      
      
      
      
      
      
      
    
复制代码
    /*
    我的思路:
    1、暴力解答,两层for循环,直接超时警告  n^2
    2、使用额外的数组来模拟哈希/直接用HashSet  时间O(n)空间O(n)
    3、*原地哈希(交换) 时间O(N) 空间O(1)
    4、排序之后判断前后相等  时间O(NlogN) 空间O(1)
    */
    
    //2、使用额外数组
    // 用一个数组来计数
    //已知在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内
    //     public in

全部评论 (0)

还没有任何评论哟~