分发饼干(贪心算法+图解)

news2024/12/26 22:12:31

455. 分发饼干 - 力扣(LeetCode)

题目描述

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

对每个孩子 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。
虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。
所以你应该输出1。

示例 2:

输入: g = [1,2], s = [1,2,3]
输出: 2
解释: 
你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。
你拥有的饼干数量和尺寸都足以让所有孩子满足。
所以你应该输出2.

提示:

  • 1 <= g.length <= 3 * 104
  • 0 <= s.length <= 3 * 104
  • 1 <= g[i], s[j] <= 231 - 1

题解

贪心思想

首先对饼干的大小个孩子们的胃口大小从到大排序,遍历饼干数组,指针i指向当前的饼干,指针index指向当前的孩子,那么如果当前的饼干大小不能满足当前的孩子胃口,也就是s[i]<g[index],说明这块饼干也不能满足后边孩子的胃口(因为孩子的胃口是从小到大排列的),因此换下一块饼干继续判断(i++),否则就将当前饼干分给孩子,换下一个孩子继续判断(index++)

在整个遍历的过程中,由于饼干无论能不能分给孩子,都需要i++,因为如果饼干不能分给当前的孩子,那么i++直接换下一个饼干尝试,如果饼干分给了当前孩子,那么还是要i++,同时index++,取下一块饼干分给下一个孩子,故而整个遍历的时间是所有饼干的遍历时间

代码

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        sort(g.begin(),g.end());
        sort(s.begin(),s.end());
        int index=0;
        for(int i=0;i<s.size();i++)
        {
            if(index<g.size() && s[i]>=g[index])
                index++;
        }
        return index;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1203010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wireshark打开tcpdump抓的包 vwr: Invalid data length runs past the end of the record

tcpdump -i any -n -s0 > t.pcap 使用此命令在Debian系统上抓包&#xff0c;下载到PC&#xff0c;用wireshark打开时报错&#xff1a; 后来发现写入文件时使用 -w 是没问题的&#xff0c;原因还不清楚。 tcpdump -i any -n -s0 -w t.pcap

JavaScript从入门到精通系列第三十一篇:详解JavaScript中的字符串和正则表达式相关的方法

文章目录 知识回顾 1&#xff1a;概念回顾 2&#xff1a;正则表达式字面量 一&#xff1a;字符串中正则表达式方法 1&#xff1a;split 2&#xff1a;search 3&#xff1a;match 4&#xff1a;replace 大神链接&#xff1a;作者有幸结识技术大神孙哥为好友&#xff0c;…

美国通胀预期高企,现货黄金价格继续承压下滑

上周五现货黄金持续振荡下滑&#xff0c;金价失守1940美元关口&#xff0c;最低至1933.17美元/盎司&#xff0c;最终收跌1.09%&#xff0c;报1936.51美元/盎司&#xff0c;创10月17日以来新低&#xff1b;今日&#xff08;周一&#xff09;截止汉声集团分析师发稿前&#xff0c…

竞赛选题 深度学习的动物识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

APS、SAP解析BOM批量核对(我的APS项目三)

APS提供了解析BOM接口 SAP从CU50中解析了BOM 博主开发了一个程序&#xff0c;把两边的BOM数据拉到一起来比对&#xff0c;从最初的一个车型&#xff0c;增加到5个车型&#xff0c;最后成型是30个车型&#xff0c;几乎覆盖了F1、F2的全部车型。 并且程序还实现了消息提醒功能&…

PLM/ERP/APS/MES/SRM/CRM/WMS/QMS

参考一 ERP 1 什么是ERP ERP的英文全称是“Enterprise Resource Planning”&#xff0c;从字面上看&#xff0c;它的意思就是“企业资源计划”。ERP最开始是由美国著名的计算机技术咨询和评估集团Garter Group提出的一整套企业管理系统体系标准。 2 ERP的发展历程&#xff08…

【数据仓库】数仓分层方法

文章目录 一. 数仓分层的意义1. 清晰数据结构。2. 减少重复开发3. 方便数据血缘追踪4. 把复杂问题简单化5. 屏蔽原始数据的异常6. 数据仓库的可维护性 二. 如何进行数仓分层&#xff1f;1. ODS层2. DW层2.1. DW层分类2.2. DWD层2.3. DWS 3. ADS层 4、层次调用规范 一. 数仓分层…

自然语言处理实战项目21-两段文本的查重功能,返回最相似的文本字符串,可应用于文本查重与论文查重

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目21-两段文本的查重功能,返回最相似的文本字符串,可应用于论文查重。本文想实现一种文本查重功能,通过输入两段文本,从中找出这两段文本中最相似的句子。这项技术有助于检测抄袭、抄袭的论文和文章,提高知识创新…

js设置图片放大缩小拖动

效果: 思路: 在外层box进行相对定位relative,img设置绝对定位absolute;通过监听滚轮事件(wheel),设置样式缩放中心点(transformOrigin)和缩放转换(transform);获取到图片大小和位置,设置对应图片宽度高度和top、left偏移;鼠标按下事件(mousedown)和鼠标移动事…

【教3妹学编程-算法题】给小朋友们分糖果 II

3妹&#xff1a;1 8得8&#xff0c;2 816&#xff0c; 3 8妇女节… 2哥 : 3妹&#xff0c;在干嘛呢 3妹&#xff1a;双11不是过了嘛&#xff0c; 我看看我这个双十一买了多少钱&#xff0c; 省了多少钱。 2哥 : 我可是一分钱没买。 3妹&#xff1a;我买了不少东西&#xff0c; …

WS2812B彩灯 STM32HAL库开发:PWM+DMA(stm32f103c8t6)

目录 一、摘要 二、WS2812B介绍 三、CUBEMX配置 四、程序介绍&#xff08;KEIL编译器&#xff09; 五、数据手册 一、摘要 1、本文使用示例单片机型号为stm32f103c8t6&#xff0c;RGB型号为WS2812B&#xff1b; 2、主要实现功能是实现用PWMDMA使RGB_LED亮起不同颜色的灯光…

暖手宝上架亚马逊美国站UL499报告测试标准要求

暖手宝是运用物理及化学原理研制的自动取暖保健用品。该产品以其自动生热&#xff0c;有趣&#xff0c;实用等新颖独特的优势&#xff0c;深受欢迎——暖手宝具有自动取暖&#xff0c;理疗保健等多种功能。只要插上电源等上10分钟左右就能发热&#xff0c;最后一种是通过锂电池…

thinkphp6 只有默认页能访问 其他404 其他模块404

1.只有默认页能访问 其他页404 同时隐藏index.php 在 public/.htaccess 中添加如下配置&#xff0c;后重启服务 <IfModule mod_rewrite.c>Options FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-f…

活跃类指标

活跃类指标反映了用户的真实使用情况。本节我们深入探讨活跃类指标的核心逻辑。 1&#xff0e; UV UV ( Unique Visitor &#xff0c;独立访客&#xff09;&#xff0c;是所有活跃类指标的基础。 既然叫独立访客&#xff0c;何谓之独立&#xff1f; APP 产品界定独立访客相对…

算法的复杂性

通常情况下&#xff0c;一个问题可能对应有多种解决方案&#xff0c;每种解决方案都是一种算法。因此&#xff0c;我们可能经常需要做一件事&#xff1a;从众多算法中挑选出一个最好的算法。所谓“最好”的算法&#xff0c;即最适合当前场景使用的算法。 不同的应用场景&#x…

IT 基础架构管理需要了解的信息

各行各业的现代组织不断面临创新和扩展的压力。就在十多年前&#xff0c;一个组织可以争取时间&#xff0c;在投资新技术时保持保守&#xff0c;同时仍然保持竞争优势&#xff0c;快进到今天&#xff0c;随着商业实践的变化和新技术的不断涌现&#xff0c;商业和技术领域变得更…

瑞利长度(Rayleigh length)

瑞利长度 Rayleigh length 在光学&#xff0c;特别是激光学中&#xff0c;我们设鞍腰部&#xff08;如图中所示的最低处&#xff09;为A&#xff0c;其横截面面积为a&#xff0c;沿光的传播方向&#xff0c;当横截面面积因为散射达到2a时&#xff0c;我们设此处为B&#xff0c;…

Mysql-表的结构操作

1.创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎 ; 说明&#xff1a; field 表示列名 datatype 表示列的类型 character set 字符集&#xff0c;如果没有指定字…

从0到0.01入门React | 003.精选 React 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

天津火爆python培训机构从哪里入手?

Python不仅被应用在职场办公中&#xff0c;还被大型互联网公司应用于大型后端开发&#xff0c;随着大数据领域的高速发展&#xff0c;这门高效的编程语言逐渐成为处理数据的最佳编程语言之一。 Python培训班优势 系统性学习&#xff1a;Python培训班会提供结构化的课程体系&a…