leetcode 455. 分发饼干 思考分析

目录

    • 题目
    • 自己的思路以及AC代码
    • 参考思路

题目

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

自己的思路以及AC代码

首先将数组s、g排序(按照值从小到大),这样就将小胃口孩子,小尺寸的饼干放在前面了。
接下来对饼干进行遍历:
如果这个饼干大于当前的孩子胃口,把它给这个孩子,转向下一个孩子,饼干也到下一个饼干。
如果不满足,孩子还是当前的孩子,饼干转到下一个饼干。
这样就能保证每个孩子吃到的是满足胃口的最小的尺寸饼干了。我想这也许就是贪心吧。
下面是AC代码:

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {//将孩子按照胃口大小排序,从小到大sort(g.begin(), g.end());//将饼干按照尺寸大小排序,从小到大sort(s.begin(), s.end());int i=0;for(int j=0;j<s.size();j++){if(i<g.size() && s[j] >= g[i]) {i++;}}return i;  }
};

接下来看看我参考的公众号的思路:

参考思路

大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。
局部最优:大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个。
全局最优就是喂饱尽可能多的小孩。
从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计小孩数量。
这个思路正好和我是反过来的。
从代码实现上来说,我的外才能循环是饼干尺寸s,而这里的代码外层循环是胃口g。

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {//将孩子按照胃口大小排序,从小到大sort(g.begin(), g.end());//将饼干按照尺寸大小排序,从小到大sort(s.begin(), s.end());//饼干从最大的开始int j=s.size()-1;int result=0;//胃口从大到小for(int i=g.size()-1;i<g.size();i--){if(j>=0 && s[j] >= g[i]) {j--;result++;}}return result;  }
};

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

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

相关文章

八、流水查询---记录纺织品出库信息

一、数据库的建立 在fiber_yy数据库下创建yy_textile_record表 可以先手动填入几条数据信息 初始数据库信息 第一条数据的username是空格不是null number为织物的品号(唯一的) stock为出货量 username为哪个账号 time为出货时间 二、页面的完善 登录注册页面我就不演示…

应用程序栏【WP7学习札记之九】

本节是WP7学习札记的第九篇&#xff0c;讲的是系统托盘和应用程序栏&#xff0c;具体内容是系统托盘和应用程序栏的介绍&#xff0c;如何分别使用C#、xaml以及Expression Blend生成应用程序栏&#xff0c;应用程序栏的透明度以及对屏幕方向改变的支持。摘要如下&#xff1a; 系…

leetcode 第 216 场周赛 整理

目录1662. 检查两个字符串数组是否相等题目自己代码5606. 具有给定数值的最小字符串题目自己代码贪心算法1664. 生成平衡数组的方案数题目自己代码动态规划优化1665. 完成所有任务的最少初始能量题目思路1662. 检查两个字符串数组是否相等 题目 给你两个字符串数组 word1 和 …

九、忘记密码功能的实现

一、页面设计 login页面&#xff0c;和第二篇博文(用户登录和注册)页面基本一样&#xff0c;只不过多了一个按钮 其中忘记密码&#xff1f;点我找回 为button3 retrieve_password页面 change_password页面 页面如下&#xff1a; 二、数据库 因为是忘记密码&#xff0c;…

Android中对手机文件进行读写

参考张泽华视频 &#xff08;一&#xff09;读写手机内存卡中的文件 对手机中的文件进行读写操作&#xff0c;或者新增一个文件时&#xff0c;可直接使用openFileOutput / openFileInput 得到文件的输出、输入流。 FileOutputStream fos this.openFileOutput("private.…

联轴器选型_联轴器| 软件工程

联轴器选型耦合 (Coupling) In general terms, the term coupling is defined as a thing that joins together two objects. If we talk about software development, then the term coupling is related to the connection between two modules, i.e. how tight interaction …

剑指 Offer 10- I. 斐波那契数列 (从重叠子问题到备忘录到dp数组迭代解法)

目录题目描述1、暴力递归法的重叠子问题2、备忘录解法3、dp数组迭代算法4、滚动数组优化5、参考链接题目描述 写一个函数&#xff0c;输入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F…

十、纺织品库存管理系统全部功能展示

一、系统主页面—Form1 系统运行加载页面&#xff0c;主要包含三个功能&#xff0c;①登录、②注册、③退出系统 程序运行图&#xff1a; 登录功能&#xff0c;跳转到登录页面 注册功能&#xff0c;跳转到注册页面 退出系统&#xff0c;程序结束运行 代码如下&#xff1a; …

leetcode 376. 摆动序列 思考分析

目录题目思路分析代码总结题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2,5] 是一个摆动序列&am…

[EF在VS2010中应用Entity framework与MySQL

在VS2010中应用Entity framework与MySQL 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议本文讲述了在VS2010中使用EF与MySQL的一个简单示例。 工具安装&#xff1a; 1&#xff0c;MySQL MySQL Community Server Connector/NET 6…

十、美化界面

一、背景图片 二、透明化处理 BackColor—web—Transparent 三、数据库建表语句 数据库 USE [fiber_yy] GO /****** Object: Table [dbo].[yy_user_record] Script Date: 06/20/2022 18:54:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADD…

VS 如何修改C++编译标准

第一步&#xff0c;打开项目资源管理器的属性页面 第二步&#xff0c;选择配置属性->C/C>语言->C语言标准 第三步&#xff0c;选择合适的标准&#xff0c;一般来说选最新即可

十一、纺织面料下架功能的实现

一、数据库 数据库仍用yy_textile表&#xff0c;前几篇博文都叙述过这里就不再叙述 在fiber_yy数据库下创建yy_textile表 初始数据库信息 二、页面 admin_undercarriage 三、代码实现 admin_undercarriage using System; using System.IO; using System.Data; using S…

svg和canvas的应用场景分析【转载】

原文地址&#xff1a;http://blogs.msdn.com/b/weizhong/archive/2011/07/16/canvas-svg.aspx 思考什么时候使用Canvas 和SVG wzhong 15 Jul 2011 9:07 PM 0HTML5 Canvas 和 SVG 是 IE9 中引入的两项令人激动的图形功能。上周在拉斯维加斯举办的 MIX11 大会对这两个功能进行了介…

【C++grammar】文件系统以及path类使用

目录1.文件系统概述1、关于路径2、如何将某个路径下的所有文件递归地找出来&#xff1f;2.路径类及操作1、path类的成员函数2、path类的非成员函数示例1&#xff1a;展示C17中的path对象的用法示例2&#xff1a;展示Path类中用于分解路径成分的函数示例3&#xff1a;展示path相…

十二、所有功能实现效果演示

一、系统项目架构 Ⅰ&#xff0c;fiber_yy数据库下有五张表 yy_admin&#xff1a;管理员登录账号和密码 yy_textile&#xff1a;纺织面料数据信息 yy_textile_record&#xff1a;用户购买纺织面料信息所存储的面料流水信息 yy_user&#xff1a;用户登录注册信息 yy_user_reco…

leetcode 322. 零钱兑换 思考分析

目录1、题目2、思路分析3、参考链接1、题目 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1。 你可以认为每种硬币的数量是无限的。 提示&#xff1a; 1 …

二、训练fashion_mnist数据集

一、加载fashion_mnist数据集 fashion_mnist数据集中数据为28*28大小的10分类衣物数据集 其中训练集60000张&#xff0c;测试集10000张 from tensorflow import keras import tensorflow as tf import matplotlib.pyplot as plt import numpy as npfashion_mnist keras.data…

四、卷积神经网络(Convolution Neural Networks)

一、CNN(Convolution Neural Networks) 卷积神经网络基本思想&#xff1a;识别物体的特征&#xff0c;来进行判断物体 卷积Convolution&#xff1a;过滤器filter中的数值与图片像素值对应相乘再相加&#xff0c;6 * 6卷积一次(步数为1)变成4 * 4 Max Pooling&#xff1a;对卷积…

POJ3096Surprising Strings(map)

题意&#xff1a;输入很多字符串&#xff0c;以星号结束。判断每个字符串是不是“Surprising Strings”&#xff0c;判断方法是&#xff1a;以“ZGBG”为例&#xff0c;“0-pairs”是ZG&#xff0c;GB&#xff0c;BG&#xff0c;这三个子串不相同&#xff0c;所以是“0-unique”…