LeetCode算法题1:判断整数数组是否存在重复元素
生活随笔
收集整理的這篇文章主要介紹了
LeetCode算法题1:判断整数数组是否存在重复元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、題目描述
- 二、思路
- 1.暴力破解
- 2.空間換時間(有點像桶排序思想)
- 3,排序
- 總結
前言
??????本系列文章為leetCode刷題筆記,僅供參考。
一、題目描述
給定一個整數數組,判斷是否存在重復元素。
如果存在一值在數組中出現至少兩次,函數返回 true 。如果數組中每個元素都不相同,則返回 false 。
示例 1:
輸入: [1,2,3,1]
輸出: true
示例 2:
輸入: [1,2,3,4]
輸出: false
示例 3:
輸入: [1,1,1,3,3,4,3,2,4,2]
輸出: true
見:https://leetcode-cn.com/problems/contains-duplicate/
二、思路
1.暴力破解
??????對該數組遍歷,依次判斷是否有無重復元素,時間復雜度為O(n2),空間復雜度為O(1)。(Fail)
??????代碼如下:
2.空間換時間(有點像桶排序思想)
??????采用一個臨時數組來標記原數組中元素出現次數,但是沒有考慮到有負整數的存在,時間復雜度為O(n),空間復雜度為O(m)。(Fail)
??????代碼如下:
3,排序
??????先排序(ologn),再判斷是否存在重復元素。時間復雜度為O(nlogn),空間復雜度為O(logn),這里取得是遞歸調用棧的深度,(Pass)
??????代碼如下:
總結
??????假設空間復雜度不做限制,且不采用排序,是否有時間復雜度低于O(n2)的解法呢?
總結
以上是生活随笔為你收集整理的LeetCode算法题1:判断整数数组是否存在重复元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-virtualenv虚拟环
- 下一篇: LeetCode算法题2:求字符串b在字