贪心算法(活动安排)

function greedy() {
    var arr = [];
    arr.push("[{act:'A'},{s:'0'},{e:'4'}]");
    arr.push("[{act:'B'},{s:'1'},{e:'2'}]");
    arr.push("[{act:'C'},{s:'2'},{e:'5'}]");
    arr.push("[{act:'D'},{s:'3'},{e:'5'}]");
    arr.push("[{act:'E'},{s:'2'},{e:'4'}]");
    arr.push("[{act:'F'},{s:'4'},{e:'6'}]");
    var sort = arr.sort(function (a, b) {
        var aa = eval('(' + a + ')');
        var bb = eval('(' + b + ')');
        return aa[2].e + 0 > bb[2].e + 0 ? 1 : -1;
    })
    var rtn = [];
    var current = eval('(' + arr[0] + ')');
    var currentTime = current[2].e;
    rtn.push(current[0].act);
    for (var i = 1; i < arr.length; i++) {
       var cur = eval('(' + arr[i] + ')');
        if (currentTime <= cur[1].s) {
            currentTime = cur[2].e;
            rtn.push(cur[0].act);
        }
    }
    return rtn;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值