func findContentChildren(g []int, s []int) int {
//注意首先从小到大排序
sort.Ints(g)
sort.Ints(s)
res := 0
index := len(s) - 1
for i := len(g) - 1; i >= 0; i-- { //外层循环遍历孩子的胃口
if index >= 0 && s[index] >= g[i] { //一个饼干只能投喂一次不能用while
index--
res++
}
}
return res
}
func wiggleMaxLength(nums []int) int {
if len(nums) == 1 {
return 1
}
prediff := 0
curdiff := 0
res := 1 //解决只有首尾两个元素的情形
for i := 0; i < len(nums)-1; i++ {
curdiff = nums[i+1] - nums[i]
if prediff >= 0 && curdiff < 0 || prediff <= 0 && curdiff > 0 { //解决上下有平坡的情形
res++ //记录波动
prediff = curdiff //解决单调坡中有平坡的情形
}
}
return res
}
func maxSubArray(nums []int) int {
res := math.MinInt64//取最小的数
count := 0 //记录连续和
for i := 0; i < len(nums); i++ {
count += nums[i]
if count > res {
res = count
}
if count < 0 { //当连续和小于0时重新计数
count = 0
}
}
return res
}