亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言中實現slice去重的方法

發布時間:2020-06-10 10:50:23 來源:億速云 閱讀:2449 作者:Leah 欄目:編程語言

本文以go語言中的slice為例,為大家分析go語言中實現slice去重的方法。閱讀完整文相信大家對go語言中實現slice去重的方法有了一定的認識。

合并兩個整型slice,返回沒有重復元素的切片,有兩種去重策略

1. 通過雙重循環來過濾重復元素(時間換空間)

// 通過兩重循環過濾重復元素
func RemoveRepByLoop(slc []int) []int {
    result := []int{}  // 存放結果
    for i := range slc{
        flag := true
        for j := range result{
            if slc[i] == result[j] {
                flag = false  // 存在重復元素,標識為false
                break
            }
        }
        if flag {  // 標識為false,不添加進結果
            result = append(result, slc[i])
        }
    }
    return result
}

2. 通過字典來過濾(空間換時間)

因為字典的主鍵唯一,所以可以用來判斷元素是否重復

// 通過map主鍵唯一的特性過濾重復元素
func RemoveRepByMap(slc []int) []int {
    result := []int{}
    tempMap := map[int]byte{}  // 存放不重復主鍵
    for _, e := range slc{
        l := len(tempMap)
        tempMap[e] = 0
        if len(tempMap) != l{  // 加入map后,map長度變化,則元素不重復
            result = append(result, e)
        }
    }
    return result
}

ps : 這里為了節省內存,使用map[int]byte。 因為map的value并沒有用到,所以什么類型都可以。

以上就是go語言中實現slice去重的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三亚市| 凯里市| 呼图壁县| 湘潭市| 定襄县| 台北市| 泰顺县| 怀仁县| 沁水县| 嵊州市| 肥西县| 广东省| 涞水县| 进贤县| 古丈县| 道真| 冀州市| 三穗县| 贵德县| 怀集县| 晋中市| 特克斯县| 砚山县| 班戈县| 察哈| 靖宇县| 莱芜市| 罗甸县| 湖口县| 内丘县| 青海省| 重庆市| 遂平县| 昔阳县| 乳山市| 河间市| 阳新县| 安康市| 青冈县| 保靖县| 庆城县|