亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

初始化地圖時如何設置容量可以防止重新散列

初始化地圖時如何設置容量可以防止重新散列

Go
精慕HU 2022-05-23 16:20:23
s := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}capacity := len(s)m := make(map[int]bool, capacity)for _, n := range s {    m[n] = true}地圖是否會在 for 循環中重新散列?或者容量應該乘以一個因子以防止重新散列,例如:capacity := len(s) * 1.3
查看完整描述

2 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

你不需要一個因素。規格:制作切片、地圖和元素:

make使用地圖類型和大小提示調用n將創建一個帶有初始空間的地圖以保存n地圖元素。精確的行為取決于實現。

也來自內置的文檔make()

地圖:為空地圖分配足夠的空間來容納指定數量的元素??梢允÷源笮。谶@種情況下分配一個小的起始大小。


查看完整回答
反對 回復 2022-05-23
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

此代碼是最優化的,只要值s小于capacity



查看完整回答
反對 回復 2022-05-23
  • 2 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號