int heavy = people.length - 1;//利用双指针 while (light <= heavy) { if (people[light] + people[heavy] <= limit) {//判断此时最轻的和最重的能否坐一起 ++light; //可以的话左指针右移(说明最轻的跟着最重的一起走了) } --heavy; //右指针左移,无论能不能带一个最轻的,这个重的都...
贪心算法思想与练习 贪心的核心思想:最优解,短视。 按照数据规模猜测贪心,一般在 是排序, 或 是O(n)的做法,扫描一边,1000左右是两重循环,100左右是三重循环。 股票买卖 II 给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你...
综上考虑,我们同样得用双指针,分别指向此时最容易吃饱的孩子和尺寸最小的饼干。 代码展示: class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int n1=g.length;//孩子的个数int n2=s.length;//饼干的个数int l=0;//指向最容易吃饱的孩子的指针int ...