贪心算法
2021/6/11 22:24:10
本文主要是介绍贪心算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
LeetCode455. 分发饼干
-------------------------
leetcode 45. 跳跃游戏 II
public int jump(int[] nums) { int cnt = 0; if (nums == null || nums.length == 0) { return cnt; } int len = nums.length; int maxPos = 0; //此次最远能到达的位置 int right = 0; //上次最远能到达的位置 for (int i = 0; i < len - 1; i++) { maxPos = (nums[i] + i) > maxPos ? (nums[i] + i) : maxPos; if (i == right) { cnt++; right = maxPos; } } return cnt; }
leetcode 53. 最大子序和
public int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) { return 0; } int res = nums[0]; int sum = nums[0]; for (int i = 1; i < nums.length; i++) { if (sum <= 0) { sum = nums[i]; } else { sum += nums[i]; } res = res > sum ? res : sum; } return res; }
leetcode 56. 合并区间
public int[][] merge(int[][] intervals) { if(intervals == null || intervals.length == 0){ return intervals; } List<int[]> list = new ArrayList<>(); Arrays.sort(intervals, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return o1[0] - o2[0]; } }); int start = intervals[0][0]; int end = intervals[0][1]; for (int i = 1; i < intervals.length ; i++) { if(intervals[i][0] > end){ list.add(new int[]{start,end}); start = intervals[i][0]; end = intervals[i][1]; }else { end = end > intervals[i][1]? end : intervals[i][1]; } } list.add(new int[]{start,end}); return list.toArray(new int[list.size()][2]); }
leetcode 376 摇摆序列
public int wiggleMaxLength(int[] nums){ if(nums == null){ return 0; } if(nums.length<2){ return nums.length; } int len = 1; boolean flag = false; for (int i = 1; i < nums.length ; i++) { if(nums[i] == nums[i-1]){ continue; } if(flag != (nums[i] > nums[i-1])){ len ++; flag = nums[i] > nums[i-1]; } } return len; }
这篇关于贪心算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现