侧边栏壁纸
博主头像
惊羽博主等级

hi ,我是惊羽,前生物学逃兵,现系统工程沉迷者 . 贝壳签约工程师 , 曾被雇佣为 联拓数科 · 支付研发工程师 、京东 · 京东数科 · 研发工程师、中国移动 · 雄安产业研究院 · 业务中台技术负责人 .

  • 累计撰写 102 篇文章
  • 累计创建 14 个标签
  • 累计收到 14 条评论

算法练习(26) - 贪心算法:活动安排

惊羽
2022-03-29 / 2 评论 / 1 点赞 / 1,032 阅读 / 520 字
温馨提示:
本文为原创作品,感谢您喜欢~

问题

选出最大的互相兼容的活动集合

$a_i$(活动)1234567891011
$s_i$(开始时间)130535688212
$f_i$(结束时间)4567991011121416

code

public class _0402MaxActivitiesCombination {

    @Test
    public void maxActivitiesCombination_test() {
        int[] s = {1,3,0,5,3,5,6,8,8,2,12};
        int[] f = {4,5,6,7,9,9,10,11,12,14,16};
        boolean[] a = new boolean[s.length];
        this.printMaxActivitiesCombination(s,f,a);
    }

    private void printMaxActivitiesCombination(int[] s, int[] f, boolean[] a) {

        int j = 0;
        int count = 1;
        a[0] = true;
        for (int i = 1; i < s.length; i++) {

            if(s[i] >= f[j]){
                a[i] = true;
                count ++;
                j = i;
            }
        }
        System.out.println(count);
    }
}

图解

1.png

0
广告 广告

评论区