455.分发饼干
func findContentChildren(g []int, s []int) int {
sort.Ints(g)
sort.Ints(s)
i := 0
j := 0
res := 0
for i < len(g) && j < len(s) {
if g[i] <= s[j] {
res++
i++
j++
} else {
j++
}
}
return res
}
376. 摆动序列
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if (nums.size() <= 1) return nums.size();
int curDiff = 0; // 当前一对差值
int preDiff = 0; // 前一对差值
int result = 1; // 记录峰值个数,序列默认序列最右边有一个峰值
for (int i = 0; i < nums.size() - 1; i++) {
curDiff = nums[i + 1] - nums[i];
// 出现峰值
if ((preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)) {
result++;
preDiff = curDiff; // 注意这里,只在摆动变化的时候更新prediff
}
}
return result;
}
};
53. 最大子序和
func maxSubArray(nums []int) int {
res := -1000000
temp := 0
for i := 0; i < len(nums); i++ {
temp += nums[i]
res = max(res, temp)
if temp < 0 {
temp = 0
}
}
return res
}
扫描二维码,在手机上阅读
推荐阅读:
收藏