贪心算法-解决区间问题

举报
芝士味的椒盐 发表于 2022/04/18 21:34:31 2022/04/18
【摘要】 👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、大数据、运维、电子🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!@[TOC] 贪心算法  见名知...

在这里插入图片描述

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域: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);
    }
}

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。