func peakIndexInMountainArray(arr []int) int {
res := 0
for i := 1; i <= len(arr)-2; i++ {
if arr[i] > arr[i-1] && arr[i] > arr[i+1] {
res = i
break
}
}
return res
}
自写,朴素写法,速度不快,内存不错
2.剑指 Offer 53 - II. 0~n-1中缺失的数字
自写朴素写法
func missingNumber(nums []int) int {
// 写个新方法
sum := 0
for _, num := range nums {
sum += num
}
sum1 := len(nums) * (len(nums) + 1) / 2
return sum1 - sum
}
也是非常的简单,主要是这几天事情多,暂时只能挑简单的写
3.剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
func countBits(n int) []int {
if n == 0 {
return []int{0}
}
res := []int{}
for i := 0; i <= n; i++ {
res = append(res, strings.Count(fmt.Sprintf("%b", i), "1"))
}
return res
}
过是过了,但是表现不佳