Leetcode455. 分发饼干

LeetCode第455题解析 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你可以假设胃口值为正。 一个小朋友最多只能拥有一块饼干。 示例1: 输入: [1,2,3], [1,1] 输出: 1 解释: ... 阅读详情

Every day a leetcode

题目来源:455. 分发饼干

解法1:贪心

因为饥饿度最小的孩子最容易吃饱,所以我们先考虑这个孩子。为了尽量使得剩下的饼干可以满足饥饿度更大的孩子,所以我们应该把大于等于这个孩子饥饿度的、且大小最小的饼干给这个孩子。满足了这个孩子之后,我们采取同样的策略,考虑剩下孩子里饥饿度最小的孩子,直到没有满足条件的饼干存在。

简而言之,这里的贪心策略是,给剩余孩子里最小饥饿度的孩子分配最小的能饱腹的饼干。

至于具体实现,因为我们需要获得大小关系,一个便捷的方法就是把孩子和饼干分别排序。这样我们就可以从饥饿度最小的孩子和大小最小的饼干出发,计算有多少个对子可以满足条件。

代码:

#include <iostream>
using namespace std;

int findContentChildren(int *g, int gSize, int *s, int sSize);
int cmpfunc(const void *a, const void *b);

int main()
{
    int gSize, sSize;
    cin >> gSize >> sSize;
    int g[gSize], s[sSize];
    for (int i = 0; i < gSize; i++)
        cin >> g[i];
    for (int i = 0; i < sSize; i++)
        cin >> s[i];
    cout << findContentChildren(g, gSize, s, sSize) << endl;

    system("pause");
    return 0;
}

int findContentChildren(int *g, int gSize, int *s, int sSize)
{
    int child = 0, cookie = 0;
    
    qsort(g, gSize, sizeof(int), cmpfunc); // 对g从小到大排序
    qsort(s, sSize, sizeof(int), cmpfunc); // 对s从小到大排序
    while (child < gSize && cookie < sSize)
    {
        if (g[child] <= s[cookie])
            child++;
        cookie++;
    }
    return child;
}

int cmpfunc(const void *a, const void *b)
{
    return (*(int *)a - *(int *)b);
}

结果:

在这里插入图片描述

复杂度分析:

在这里插入图片描述

力扣(leetcode)第455题分发饼干(Python) 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;4.如果饼干尺寸>=胃口值,则gi,si指针均+1,否则si+1,这样可以满足更多的孩子吃到饼干,gi的值就是孩子的个数。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。输入: g = [1,2,3], s = [1,1]输入: g = [1,2], s = [1,2,3] 阅读详情

相关推荐

Leetcode——455.分发饼干——题解+代码实现

一、题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj>= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你可以假设胃口...

鬼刀 1163

leetcode每日一题:455. 分发饼干

系列:贪心算法语言:java题目来源:Leetcode455. 分发饼干。

Jing_Hua 499

EPLAN二次开发实战指南:从API接口到定制化界面

本文为EPLAN二次开发实战指南,详细介绍了从搭建C#开发环境、理解API接口到创建定制化插件的完整流程。通过实战案例,如批量修改设备属性和设计交互式界面,帮助电气工程师利用EPLAN二次开发实现工作流程自动化与深度定制,从而显著提升设计效率。

weixin_29246195的博客 807

Leetcode个人题解455

LEETCODE专题455. Assign Cookies题目要求: 题目里明确表示了两点: 贪心值总为正值 给一个孩子的饼干数不能多于1(顺带提下,这点很重要,要不然没法用简单的贪心策略做) 这道题就算是一个简单的贪心算法题。贪心策略也很简单,找到列表里最小的能够满足要求的数就行了。这道题涉及到两次排序,一次是对g,一次是对s,使用快排的话时间复杂度会降很多,然后再一次遍历就可以了。总的来说,这

Mr.Wei的博客 442

DFX从芯片到系统:可制造性、可测试性与可靠性设计实战指南

DFX(Design for eXcellence)是一套面向产品全生命周期的设计方法论,涵盖可制造性(DFM)、可测试性(DFT)、可靠性(DFR)等维度。其核心原理是将制造、测试、维护等环节的约束前置到设计阶段,从而降低流片与量产风险。在芯片与系统硬件领域,DFX不仅是提升良率与测试效率的关键手段,更是保障车规、工控等严苛场景下长期稳定运行的基础。从芯片物理实现到PCB布局,再到系统级散热与维护设计,DFX的落地需要工具链、流程闸门与跨部门协作的体系化支撑。本文基于实际项目经验,分享DFX从设计决策到工

weixin_32349093的博客 351

Edge主页被2345劫持?手动清理注册表与组策略的完整方案

浏览器主页劫持是Windows系统中常见的恶意篡改行为,其原理是通过修改注册表、快捷方式、组策略等多处系统配置,强制锁定浏览器启动页。这类劫持不仅影响上网体验,还可能带来隐私泄露和恶意软件感染风险。在安全防护与系统优化场景中,掌握手动清理主页劫持的技能至关重要。本文针对Edge主页被2345导航劫持的问题,深入解析劫持入口,提供从快捷方式、注册表到组策略的逐层清理步骤,并给出防复发策略,帮助用户彻底摆脱顽固劫持。

weixin_30582943的博客 397

力扣Leetcode之Java解题455分发饼干

leetcode刷题之455分发饼干Java解题

小李子Lee 818

告别F5失灵!手把手教你为Cursor配置.Net Core控制台项目专属调试环境

本文详细指导如何在Cursor编辑器中为.Net Core控制台项目配置专属调试环境,解决F5失灵等常见问题。从调试器选择到launch.json配置,再到高级调试技巧,帮助开发者高效搭建完整的调试工具链,提升开发效率。

weixin_28834765的博客 288

代码训练营 day31|LeetCode 455,LeetCode 376,LeetCode 53

今天主要学习了贪心算法的一系列操作,今天的题不难加油,坚持打卡的第31天。

qq_44639909的博客 829

FPGA新手必看:Create HDL Wrapper和Generating Output Products到底该先用哪个?

本文深入解析了FPGA设计中Create HDL Wrapper与Generating Output Products的正确使用顺序,帮助新手避免常见错误。详细介绍了两者的功能差异、执行顺序的底层逻辑以及工程管理的最佳实践,特别适合使用Vivado进行FPGA开发的初学者。

xk7n92h3p5m的博客 1065

shopro 商城,2025年新申请的微信支付提示失败,支付提示 Get Wechat Public Cert Error 问题的修复办法

shopro 商城,最近新申请的微信支付商户 支付提示 Get Wechat Public Cert Error 问题的修复办法

行走的卡路里 1245

力扣网 | 每日打卡题 | 455. 分发饼干 | 圣诞节的饼干

文章目录题目解析 题目 455. 分发饼干 - 力扣(LeetCode) 解析 分发饼干 - 分发饼干 - 力扣(LeetCode) class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sort(s.begin(), s.end()); int nu

我是一块小石头 297

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务 | 【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

君逍遥o 320

leetcode 455. 分发饼干

【题目】455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你...

Sophia_fez的博客 645

汇川Easy系列斜坡函数功能块(支持状态输出)

IN rSetValue REAL 0.000000 0.000000 不保持 目标值 1IN rMaxValue REAL 0.000000 0.000000 不保持 最大目标值 2IN rMinValue REAL 0.000000 0.000000 不保持 最小目标值 3IN rSmoothTime REAL 100.000000 100.0000 不保持 最小到最大值平滑时间 单位 秒 4IN diTs DINT 10 10 不保持 函数调用周期采样时间中断时间 5。

RXXW_Dor的博客 463

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LeetCode[455] 分发饼干 (贪心)

本题目摘自 LeetCode 455 原题 分发饼干 1. 目标:需要满足尽可能多的孩子,计数 counter = 0 2. 满足条件:当前饼干尺寸 sj 要大于等于孩子胃口值 gi,即 sj >= gi 3. 局部最优:当前饼干尺寸刚好满足当前孩子的胃口(最大尺寸饼干发给胃口最大的孩子),则 counter + 1 4. 终止条件:没有饼干可发,或者没有孩子可发

Caso_卡索的博客 411

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

力扣455-分发饼干(贪心入门题 Java题解)

此题是力扣中贪心的简单题。

ItDaChuang的博客 729

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

455. 分发饼干(力扣LeetCode)

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;对每个孩子,只要有能满足他胃口的饼干存在,就分配给他,并准备为下一个胃口稍小的孩子分配更小的饼干。通过贪心策略,它首先排序孩子的胃口值和饼干的尺寸,然后依次尝试用尽可能小的饼干去满足尽可能多的孩子。注意这里饼干是从大到小分配的,这有助于确保更大的饼干(可能过于“奢侈”)不会被分配给胃口小的孩子,从而可以留给胃口更大的孩子,确保更多孩子满足。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。

m0_73841621的博客 804

LeetCode455.分发饼干

LeetCode455.分发饼干

Love Peace 1158

LeetCode第455题分发饼干

题目来源 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你可以假设胃口值为正。 一个小朋友最多只能拥有一块饼干。 示例 1: 输入: [1,2,3], [1,1] 输出: 1 解

LiuXiaoXueer的博客 1066

力扣第455题---分发饼干

leetcode刷题笔记 力扣第455题—分发饼干 题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子 最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 来源:力扣(LeetCode) 链接:https://leetcode-cn.co

huiNB的博客 583

力扣455.分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。1你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。所以你应该输出 1。2。

hellooooooi的博客 956

Leetcode455 分发饼干

Leetcode455 分发饼干 题目: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 示例 1: g[i]:胃口值 s[j]:饼干尺寸 输入: g = [1,2,3],

lisa2017_的博客 145

leetcode 力扣 455.分发饼干

题目描述: 解题方法: 快排+贪心算法: 在这道题里面为了满足更多孩子的胃口,我们应该优先满足胃口小的孩子,我们可以先调用C语言cmath.h库的快排函数把孩子的胃口和食物数量的多少从小到大排序,再用贪心的方法把饼干进行分配 代码: int com(int*a,int*b) { return *a-*b; } int findContentChildren(int* g, int gSize, int* s, int sSize) { qsort(g, gSize, sizeof(in

fatherofli的博客 410

LeetCode:455. 分发饼干——贪心算法

LeetCode:455. 分发饼干 ——贪心算法 贪心算法是在每个阶段选取局部最优解,最终得到全局最优解的一种思想。 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

Super algorithm 的博客,技术爱好者。 1180

力扣455 分发饼干 java实现

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2 个孩子的胃口值分别是 1,2。,这是能让孩子们满足胃口的饼干的最小尺寸;你拥有的饼干数量和尺寸都足以让所有孩子满足。,我们可以将这个饼干。所以你应该输出 1。所以你应该输出 2。

m0_58648798的博客 1150
上一篇: 计算机图形学 | 变换与观察
下一篇: Leetcode135. 分发糖果
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值