刷题日记3
剑指offer 15:计算一个二进制串中有几个1
GO
func hammingWeight(num uint32) int {
count := 0
for 0 < num{
if num%2 == 1{
count++
}
num /=2
}
return count
}
学习知识点:
slice(dynamic list)
是一个数据结构,由三部分组成
a.元素首地址 b.当前长度 c.容量(最大长度)
my_slice := make([]int,3,5)
fmt.Println(len(my_slice)) // 3
fmt.Println(cap(my_slice)) // 5
切片内部切片
//其中A表示从SLICE的第几个元素开始切,B控制切片的长度(B-A),C控制切片的容量(C-A),如果没有给定C,则表示切到底层数组的最尾部。
SLICE[A:B]
SLICE[A:B:C]
SLICE[A:] // 从A切到最尾部
SLICE[:B] // 从最开头切到B(不包含B)
SLICE[:] // 从头切到尾,等价于复制整个SLICE