如何快速的對數組元素去重


一般情況下,對數組去重的時間復雜度為O(n^2),但利用map數據結構可達到O(n),Go語言的實現如下:

func DeleteRepeat(list []string) []string {
    mapdata := make(map[string]interface{})
    if len(list) <= 0 {
        return nil
    }
    for _, v := range list {
        mapdata[v] = "true"
    }
    var datas []string
    for k, _ := range mapdata {
        if k == "" {
            continue
        }
        datas = append(datas, k)
    }
    return datas
}

主要原理是利用了map鍵值的唯一性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM