侧边栏壁纸
博主头像
buukle博主等级

布壳儿

  • 累计撰写 106 篇文章
  • 累计创建 15 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

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

administrator
2022-03-29 / 1 评论 / 1 点赞 / 1315 阅读 / 1466 字

问题

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

$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

1

评论区