91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

大竹县| 永德县| 乌苏市| 搜索| 衡南县| 游戏| 鄂尔多斯市| 平武县| 阿图什市| 巴林右旗| 同德县| 张家口市| 兰溪市| 丹寨县| 女性| 集贤县| 阜南县| 揭西县| 安龙县| 肇庆市| 姜堰市| 丰镇市| 临沧市| 仙游县| 澎湖县| 夏邑县| 论坛| 尤溪县| 灵台县| 连城县| 鲁甸县| 文成县| 北流市| 威海市| 栾城县| 巢湖市| 普格县| 沙河市| 肇东市| 南安市| 东台市|