本来这是第三十一天的内容,但是三十一天的时候写成第三十二天的了,因此今天写第三十一天的内容
class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int n = g.length; int m = s.length; if(m==0||n==0){ return 0; } int res = 0; int j = 0; for(int i = 0; i<n; i++){ if(j>m-1){ return res; } while(g[i]>s[j]){ j++; if(j>m-1){ return res; } } j++; res++; } return res; } }
进行排序,然后再对比,试图让最小的size符合最小人的胃口
class Solution { public int wiggleMaxLength(int[] nums) { int n = nums.length; if (n == 1){ return n; } int cur = 0; int pre = 0; int res = 1; for(int i = 1; i< n; i++){ cur = nums[i] - nums[i-1]; if(cur>0&&pre<=0 || cur < 0 && pre >= 0){ res++; pre = cur; } } return res; } }
如果有正负转换的变动,那么就计数+1;
class Solution { public int maxSubArray(int[] nums) { int n = nums.length; if(n==1){ return nums[0]; } int res = nums[0]; int sum = nums[0]; for(int i = 1; i<n; i++){ if(sum >= 0){ sum += nums[i]; } else{ sum = nums[i]; } res = Math.max(res, sum); } return res; } }
不断往前,如果结果为负数就舍弃这段结果,重新开始
贪心算法只有思路没有模版
原文地址:http://www.cnblogs.com/catSoda/p/16889444.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性