腾讯wxg前端实习代码面的一道背包问题,一起来做做?
微信小程序团队一共有 n 名成员,决定出去秋游,在海边遇到出租摩托艇的杰克马,马先生手上有 m 辆待出租的摩托艇,价格分别是 b1 、b2 ... bm;
由于习惯了微信支付,团队中每个人身上的现金都有限,分别是 a1 a2 ... an,对了,一起出门的老板还带有 S 元的团队经费,这个经费是每个人都可以使用的
那么考虑以下两个场景
场景1
团队成员都很有爱,都愿意借钱给其他同事,那么这时候团队最多能租到多少摩托艇
function max( Array n, Array m, S) {
return num
}
场景2
团队成员都十分小气,是不愿意借钱给别人的,那么请考虑以下两个问题
//问题一 老板是否能想到一个策略,使得所有人都能租到摩托艇?
function isAll(Array n, Array m, S){
return bool
}
//问题二 请问给出一个策略
// - 使得整个团队租到最多的摩托艇
// - 在租到最多摩托艇的情况下,整体的支出尽量的少
function max( Array n, Array m, S) {
return {
num,// 多少摩托艇
cost // 总体资金支出
}
}