// 贪婪 利益最大化 始终查找最大的项目,尽可能快满足需求
// 何时使用贪婪:需要查找最大项目的等类型,同时满足利益最大化
// 贪婪有时也不能满足利益最大化,eg:小推车购物 有重量限制且拿货最贵 -》 动态规划(逐个分解,动态思考)
// 给定一个数组nums【】,找到一个具有最大和的连续子数组(子数组至少包含一个元素)返回其最大和
const maxSubArray = function(nums) {
if(nums.length <= 1) return nums;
let ans = nums[0];
let sum = 0;
for (const num of nums) {
// 最快扩充当前数据量或最短路径满足需求
if(sum > 0) {
sum += num;
} else {
sum = num
}
ans = Math.max(ans, sum);
}
return ans;
}
贪婪(归并)算法
于 2023-05-24 12:11:28 首次发布