# 分发饼干问题解析
## 问题描述
分发饼干问题是一道经典的贪心算法问题。题目的描述如下:假设你有一些饼干和一些小孩,每个小孩都有一个饥饿值。每个饼干都有一个大小,且只能用于满足饥饿值大于等于该饼干大小的小孩。求解该问题的目标是尽可能满足更多的小孩。
## 解决思路
贪心算法是一种求解优化问题的常用方法,它通过每一步的局部最优选择来达到全局最优解。对于分发饼干问题,我们可以使用贪心算法的
原创
2023-07-29 11:51:49
80阅读
分饼干解析无需二分,使用纯粹的数学就可以以 \(O(1)\)先将 \(m\) 减去 \(n\),也就是给每个人先发 \(1\)设班长拿了 \(x\) 块糖,左边有 \(l\) 个人,右边有 \(r\) 个人。贪心地考虑发糖情况,类似于一个金字塔一样,最好左右都构成公差为 \(1\)\(x>l \operatorname{and} x>r\)\[\frac{(x-1+x-l)l+(x-1
转载
2023-05-26 16:18:03
104阅读
分发饼干题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子
原创
2023-06-15 14:15:52
4687阅读
455.分发饼干【分配问题】题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸
原创
2022-12-28 11:36:41
261阅读
455.分发饼干【分配问题】 题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能
455.假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有
转载
2021-08-13 14:08:27
218阅读
g(i)s(...
原创
2023-06-05 16:05:37
63阅读
package main
import "fmt"
func distributeCandies(candies []int, kids []int) []int {
// 计算每个孩子可以得到的饼干数量
max := 0
for _, candy := range candies {
if candy >= kids[0] {
原创
2023-08-25 22:47:43
123阅读
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(mlogm+nlogn)O(m+n)212ms (53.19%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:【思路】如果满足的尽量多的话,那应该优先满足胃口小的孩子。def findContentChildren(self, g: List[int], s: List[int]) ->
原创
2022-01-12 17:33:03
69阅读
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(mlogm+nlogn)O(m+n)212ms (53.19%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:【思路】如果满足的尽量多的话,那应该优先满足胃口小的孩子。def findContentChildren(self, g: List[int], s: List[int]) ->
原创
2021-08-26 10:31:02
104阅读
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得
转载
2020-12-25 12:47:00
132阅读
2评论
贪心算法:1.确定问题最优子结构2.设计递归算法3.证明贪心算法安全性4.将递归转换为迭代自己解答:class Solution(object): def findContentChildren(self, g, s): """ :type g: List[int] :type s: List[int] :rty...
原创
2022-05-23 09:39:35
49阅读
贪心算法第一题,这里的局部最优就是大饼干给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。
原创
2022-12-31 00:46:41
143阅读
贪心class Solution { public int findContentChildren(int[] g, int[] s) {
原创
2022-07-29 06:40:15
64阅读
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得 ...
转载
2021-09-21 16:25:00
44阅读
2评论
每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸...
原创
2023-03-02 18:52:12
126阅读
455.分发饼干题目链接:https://leetcode-cn.com/problems/assign-cookies/假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配
原创
2021-03-02 17:08:25
355阅读
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多
原创
2022-11-04 11:26:19
25阅读
package com.example.leetcode; import java.util.Arrays; /** * @description: 455. 分发饼干 * 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 * <p> * 对每个孩子 i,都有一
原创
2021-05-26 23:17:59
287阅读