首页 > 编程语言 >贪心算法-题目1力扣455(简单题)

贪心算法-题目1力扣455(简单题)

时间:2024-01-18 11:24:10浏览次数:31  
标签:gSize 饼干 int 455 力扣 start sSize 贪心

力扣455,给小朋友发饼干

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

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。

如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值

思路:先把胃口和饼干排一下序,从大到小看一下每块饼干是否能喂饱小朋友,如果不能喂饱,只能用最大的喂饱下一个小朋友了

代码流程:先int型qsort一下,用法需要记住,非双for嵌套代码编写流程

知识点:函数结构,int使用,以及头文件

#include<stdlib.h> int findContentChildren(int* g, int gSize, int* s, int sSize) { if(!(gSize*sSize)) return 0; int cmp(const *a,const *b) {     return *a-*b; } qsort(g,gSize,sizeof(int),cmp); qsort(s,sSize,sizeof(int),cmp);
int start=sSize-1; int count=0; for(int j=gSize-1;j>=0;j--) {     if((start>=0)&&(s[start]>=g[j]))//此处如果把(start>=0)放在后面,力扣编译错误,vscode编译成功,原因当start<0时,再进入if进行判断时s[start]已经发生越界     {         start--;         count++;     } } return count;
}

标签:gSize,饼干,int,455,力扣,start,sSize,贪心
From: https://www.cnblogs.com/lzj1996/p/17972125

相关文章

  • 「数位dp」统计整数数目(力扣第2719题)
    本题为1月16日力扣每日一题题目来源:力扣第2719题题目tag:数位dp动态规划题面题目描述给你两个数字字符串num1和num2,以及两个整数max_sum和min_sum。如果一个整数x满足以下条件,我们称它是一个好整数:\(num1\leqx\leqnum2\)\(min\_sum\leqdigit\_sum(x)\leqmax\_s......
  • 20240113-力扣704二分查找
    leetcode链接:https://leetcode.cn/problems/binary-search/solutions/980494/er-fen-cha-zhao-by-leetcode-solution-f0xw/代码随想录链接:https://programmercarl.com/0704.二分查找.html#算法公开课考点:二分查找解决代码:classSolution{publicintsearch(int[]num......
  • CF455A补题
    思路取与不取的问题,用dp就行ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;constintN=1e5+10;i64dp[N];voidsolve(){intn;cin>>n;map<int,in......
  • 贪心国王游戏
    贪心耍杂技的牛国王游戏同款思路大部分贪心用的都是已经被证明过的知名的数学模型贪心得到的答案>=最优解贪心得到答案<=最优解#include<iostream>#include<algorithm>usingnamespacestd;//给pair<int,int>起个别名PIItypedefpair<int,int>P......
  • 力扣11-盛最多水的容器
    难度:【中等】题目给画了图,比较方便理解。第一个思路是把所有的面积都计算一遍,显然时间复杂度很高;接着思考第二个方法,使用双指针,通过移动首尾指针来计算面积:如果下一个height超过当前值,就移动该指针,直到两个指针相遇。写完代码运行超时。超时是因为死循环了,因为上面的移动指针的......
  • 力扣543-二叉树的直径
    难度:【简单】定义:在一个二叉树中,任意两个节点之间的路径中最长的路径的长度称为其直径。路径长度由两个节点之间经过的“边”表示,而不是节点数。且二叉树的直径不一定经过根节点。先大致看了官方解法,不理解,心情暴躁没看懂,就自己瞎写。起初不理解直径不一定经过根节点。根据示......
  • 力扣461-汉明距离
    难度:【简单】“汉明距离”是指两个整数的二进制表示中二进制位不同的对数(或组数)。汉明距离应用广泛,可以用于检测编码错误、量化字符串差异(信息论)等。根据定义,求两个整数的汉明距离,就是求两个整数二进制位不同的组数。根据异或运算,相同为假相异为真,两数异或之后统计二进制位为1......
  • 力扣448-找到所有数组中消失的数字
    难度:【简单】常规笨方法做一遍:先遍历一遍记录到哈希表中,再从1到n遍历一遍,不在哈希表中的记入返回数组中,时空复杂度都是O(n)。尝试优化空间复杂度到O(1):先填满返回数组,再遍历原数组,原数组中出现的元素删掉。也是朴素的笨方法,所以超出了时间限制。这让我体会到了数组查找元素的时......
  • 【力扣】-28. 找出字符串中第一个匹配项的下标|刷题打卡-JS
    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。......
  • 【力扣】-39. 组合总和|刷题打卡-JS
    给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个......