贪心算法(活动安排)
来源:互联网 发布:fifa online3数据库15 编辑:程序博客网 时间:2024/04/30 12:27
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;}