当前位置:网站首页>455. 分发饼干【双指针 ++i、++j】
455. 分发饼干【双指针 ++i、++j】
2022-07-26 17:34:00 【LIZHUOLONG1】
455. 分发饼干
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子 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
思路:
找到饼干能满足的最大的胃口 g[i] < s[j],遍历时条件就只能 g[i] > s[j] :
遍历时,以胃口值为基准,遍历 饼干尺寸,指针 j,以 g[i] > s[j] 为条件进行遍历,遍历完饼干尺寸就结束。
Java代码:
class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int numOfChildren = g.length;
int numOfCookies = s.length;
int count = 0;
for (int i = 0, j = 0; i < numOfChildren && j < numOfCookies; ++i, ++j) {
while (j < numOfCookies && g[i] > s[j]) {
++j;
}
if (j < numOfCookies) {
++count;
}
}
return count;
}
}
Js代码:
var findContentChildren = function(g, s) {
g.sort((a,b) => a-b); // ()返回结果
s.sort((a,b) => a-b);
let numOfChild = g.length, numOfCookies = s.length;
let count=0;
for(let i = 0, j = 0; i < numOfChild && j < numOfCookies; i++, j++) {
while(j < numOfCookies && g[i] > s[j]) {
j++; //遍历j的话相当于是以g[i]为定点,扫描s[j]
}
if(j < numOfCookies){
count++;
}
}
return count;
};
边栏推荐
- Arm中国回应“断供华为”事件!任正非表示“没有影响”!
- openssl
- Linux安装mysql8.0.29详细教程
- Leetcode 50 day question brushing plan (day 1 - add two numbers 11.00-12.30)
- The second day of SSM practice_ Project split moudle_ Basic addition, deletion, modification and query_ Batch delete_ One to one cascading query
- 同步时现实密码不匹配
- 剑指offer 连续子数组的最大和(二)
- 【一知半解】线程池
- Redis persistent rdb/aof
- 《圆圈正义》的信念
猜你喜欢

有一说一,阿里P7的薪资待遇是真的香

Privacy computing basic component series - confusion circuit

8.1 Diffie-Hellman密钥交换

ICML 2022(第四篇)|| 图分层对齐图核实现图匹配

PyQt5快速开发与实战 3.5 菜单栏与工具栏

【一知半解】线程池

菜鸟 CPaaS 平台微服务治理实践

Oracle day 2 (Views, indexes, PLSQL, cursors, stored procedures and stored functions, triggers, JDBC access stored procedures and stored functions)

Sign up now | cloud native technology exchange meetup Guangzhou station has been opened, and I will meet you on August 6!

How to assemble a registry
随机推荐
Leetcode 50 day question brushing plan (day 5 - longest palindrome substring 10.50-13:00)
J9数字论:如何避免踩雷多头陷阱?
8.1 Diffie-Hellman密钥交换
【一知半解】线程池
LeetCode50天刷题计划(Day 3—— 串联所有单词的子串 10.00-13.20)
OpenWrt之feeds.conf.default详解
你适合做自动化 测试吗?
The second day of SSM practice_ Project split moudle_ Basic addition, deletion, modification and query_ Batch delete_ One to one cascading query
数据仓库:详解维度建模之事实表
老子云携手福昕鲲鹏,首次实现3D OFD三维版式文档的重大突破
PyQt5快速开发与实战 3.5 菜单栏与工具栏
2022 Henan Mengxin League game (3): Henan University
Oracle day 2 (Views, indexes, PLSQL, cursors, stored procedures and stored functions, triggers, JDBC access stored procedures and stored functions)
Vector CANape - How to Send Receive CAN Message in CANape
drools-基础语法
剑指offer 连续子数组的最大和(二)
LeetCode_ 134_ gas station
Leetcode 50 day question brushing plan (day 3 - concatenate substrings of all words 10.00-13.20)
Day 4 of SSM practice_ Get user name_ User exit_ User CRUD_ Password encryption_ Roles_ jurisdiction
链表-两个链表的第一个公共结点