LeetCode--455:分发饼干(java)

原题链接
思路:贪心算法

  • 分别将孩子数组和饼干数组升序排序(目的是先从胃口小的孩子处理,优先匹配小尺寸的饼干)
  • 用两个指针 i,j 同时遍历两个数组( i 是孩子数组的指针,j 是饼干数组的):
           如果孩子胃口 <= 饼干尺寸,说明可以满足这个孩子,同时这个饼干被该小孩占用,所以 i++,j++,去处理下一个孩子;
            如果孩子胃口 > 饼干尺寸,则 j++,匹配下一个较大的饼干,直到孩子胃口 <= 饼干尺寸
public int findContentChildren(int[] g, int[] s) {
		Arrays.sort(g);
		Arrays.sort(s);
		//1,2   1,2,3
		int i = 0;//孩子数组的下标
		int j = 0;//饼干数组的下标
		while(i < g.length && j < s.length) {
			if(g[i] <= s[j]) {
				i++;
				j++;
			}else {
				j++;
			}
		}
		return i;
	}
发布了24 篇原创文章 · 获赞 3 · 访问量 556

猜你喜欢

转载自blog.csdn.net/QinLaoDeMaChu/article/details/103943162