zoukankan      html  css  js  c++  java
  • LeetCode

    链接

    455. Assign Cookies

    题意

    给孩子们分饼干,每个人的需求量不同。现给定两个数组,第一个数组为每个孩子的需求量(可理解为质量),第二个数组为每个饼干的size(可理解为质量)。求能满足孩子个数的最大值。

    思路

    解法一:

    1. 给两个数组从小到大排序
    2. 遍历孩子数组,每遍历一个孩子,都在饼干数组中找到能满足的最小值(记录下标,下次只需从这个下标+1找起)
    3. 如果某个孩子没有符合的,那么后面所有的孩子都无法满足了(即直接return答案)

    解法二:
    来自讨论区,对解法一的优化,只用一层循环。但数据量小时解法一更快

    代码

    Java 1:

    public class Solution {
        public int findContentChildren(int[] g, int[] s) {
            Arrays.sort(g);
            Arrays.sort(s);
            int index = -1;
            int ans = 0;
            for (int i = 0; i < g.length; i++) {
                for (int j = index + 1; j < s.length; j++) {
                    if (s[j] >= g[i]) {
                        index = j;
                        ans++;
                        break;
                    }
                    if (j == s.length - 1) return ans;
                }
            }
            return ans;
        }
    }
    // Your runtime beats 79.19% of java submissions
    

    Java 2:

    public class Solution {
        public int findContentChildren(int[] g, int[] s) {
            Arrays.sort(g);
            Arrays.sort(s);
            int i = 0;
            for(int j=0;i<g.length && j<s.length;j++) {
    	        if(g[i]<=s[j]) i++;
            }
            return i;
        }
    }
    // Your runtime beats 41.08% of java submissions
    
  • 相关阅读:
    时间形式的转换
    vue 按enter键 进行搜索或者表单提交
    关于Cookie 关于前端存储数据
    复杂数组去重
    蜜蜂
    MongoDB学习记录一
    python 基础 day03—函数
    python 基础 day03—文件操作
    python 基础 day02—列表List / 元组Tuple
    python 基础 day02—初识模块
  • 原文地址:https://www.cnblogs.com/zyoung/p/6728705.html
Copyright © 2011-2022 走看看