👨🏻🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
@[TOC]
贪心算法
见名知意,就是贪心,在对一个问题进行求解的时候,将求解的过程划分为若干个单元,秉着贪心的思想,即在这划分的每一个单元内取最优解,每一步都是最优解,可想而知最后堆砌出来的也是最优的解,主体思想不看远方不切实际的,活好当下,力求每一都最好,当然最后的结果也基本是好的。
区间问题
输入是一个数组,数组由多个长度固定为2的数组组成,表示区间的开始和结尾,输出一个整数,表示需要移除的区间数量。
Input:[[1,2],[2,4],[1,3]]
Output: 1
题目图解
Java代码实现
/**
* <p>
* 区间问题
*
* @author 芝士味的椒盐
* @since 2022/2/6
*/
public class Solution {
public static void main(String[] args) {
int[][] inputs = {{1,2},{2,4},{1,3}};
// 总定义比较从小到大
Arrays.sort(inputs, Comparator.comparingInt(o -> o[1]));
int rmCount = 0;
// 拿第一个作为初始的比较
int initCur = inputs[0][1];
for (int i = 1 ; i < inputs.length; i++){
if (inputs[i][0]>=initCur){
initCur = inputs[i][1];
} else{
rmCount++;
}
}
System.out.println(rmCount);
}
}