提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
一、分发饼干
思路
先将数组排序,按照孩子的胃口从小到大排序,依次满足每个孩子,应该选择可以满足孩子大小的饼干
题目
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子 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
class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int cnt=0;
int g_j =0 ,s_i =0;
while(g_j < g.length && s_i < s.length ){
if(g[g_j]<= s[s_i] )
{
g_j++;
s_i++;
cnt+=1;
}else{
s_i++;
}
}
return cnt;
}
}
二、心算挑战
思路
先将最大cnt个数中的cnt-1 个相加,轮流替换后面cnt 中的一个, 遍历最大cnt 个数进行替换,每次都从最小的牌快开始和别人换最大的牌,直到偶数
题目
「力扣挑战赛」心算项目的挑战比赛中,要求选手从 N 张卡牌中选出 cnt 张卡牌,若这 cnt
张卡牌数字总和为偶数,则选手成绩「有效」且得分为 cnt 张卡牌数字总和。 给定数组 cards 和 cnt,其中 cards[i] 表示第
i 张卡牌上的数字。 请帮参赛选手计算最大的有效得分。若不存在获取有效得分的卡牌方案,则返回 0。示例 1:
输入:cards = [1,2,8,9], cnt = 3
输出:18
解释:选择数字为 1、8、9 的这三张卡牌,此时可获得最大的有效得分 1+8+9=18。
示例 2:
输入:cards = [3,3,1], cnt = 1
输出:0
解释:不存在获取有效得分的卡牌方案。
提示:
1 <= cnt <= cards.length <= 10^5 1 <= cards[i] <= 1000
class Solution {
public int maxmiumScore(int[] cards, int cnt) {
Arrays.sort(cards);
int sum=0;
int index = cards.length -1;
while(cnt>0){
sum += cards[index--];
cnt--;
}
if(sum %2 ==0){
return sum;
}
for(int i=index; i>=0;i--){
for(int j=index +1;j< cards.length;j++){
sum -= cards[j];
sum += cards[i];
if(sum %2 ==0){
return sum;
}
sum -= cards[i];
sum += cards[j];
}
}
return 0;
}
}
三、保持城市天际线
四、Shoe Shuffling
思路
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。