算法训练营day27(补),贪心算法1

import "sort"

//455. 分发饼干

func findContentChildren(g \[\]int, s \[\]int) int {

sort.Ints(g)

sort.Ints(s)

// g代表胃口数组, s代表饼干数组

count := 0 // 统计数量

//饼干下标

index := len(s) - 1

// 胃口循环

for i := len(g) - 1; i >= 0; i-- {

if index >= 0 && sindex >= gi {

count++

index--

}

}

return count

}

/*

  1. 摆动序列

本题要考虑三种情况:

情况一:上下坡中有平坡

情况二:数组首尾两端

情况三:单调坡中有平坡

*/

func wiggleMaxLength(nums \[\]int) int {

prev := 0 //前指针

cur := 0 //当前指针

result := 1 //记录峰值个数

for i := 0; i < len(nums)-1; i++ {

cur = numsi+1 - numsi

// 出现峰值

if (prev >= 0 && cur < 0) || (prev <= 0 && cur > 0) {

result++

prev = cur

}

}

return result

}

//53. 最大子数组和

func maxSubArray(nums \[\]int) int {

maxSum := nums0

count := 0

for i := 0; i < len(nums); i++ {

count += numsi

if count >= maxSum { //取子序列和最大值

maxSum = count

}

if count <= 0 { //当子序列和小于0重置起始位

count = 0

}

}

return maxSum

}

相关推荐
冻柠檬飞冰走茶9 分钟前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
你怎么知道我是队长24 分钟前
计算机虚拟存储管理与页面置换算法详解
服务器·网络·算法
罗西的思考35 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 — (14)— Teacher
人工智能·笔记·深度学习·算法·机器学习
塔能物联运维1 小时前
塔能两相液冷:600W/cm²极限能力,为下一代AI芯片预留充足散热余量
人工智能·算法·两相液冷
GEOshijie1231 小时前
品牌在ChatGPT和豆包里搜不到怎么办?企业AI搜索曝光提升方案
go
醉城夜风~1 小时前
手撕 C++ string:从零实现一个简易字符串类
开发语言·c++·算法
手写码匠1 小时前
华为云Flexus+DeepSeek征文|DeepSeek+RAG知识库实战:基于Flexus X实例与Dify构建企业级智能问答系统
人工智能·深度学习·算法·aigc
用户125758524362 小时前
进销存后台别急着上线,先重放一次退货请求
人工智能·后端·go
青山木2 小时前
Hot 100 --- 组合总和
java·数据结构·算法·leetcode
zander2582 小时前
LeetCode 46. 全排列
算法·leetcode·深度优先