自学内容网 自学内容网

Leetcode刷题. 贪心算法

贪心算法:

        比较传统的解释:将整个问题拆解为几个小问题,找到小问题的最优解,加起来就是整个问题的全局最优解。对于现在的我理解贪心就是一种感觉,给出证明很难,解题思路一般就是认真读题,发掘题目的条件,然后尝试给出算法。

11. 盛最多水的容器

         一个显而易见的条件:水的面积取决于底边的长度和水池两边的最短边,因此可以首先选择最长的底边,然后在此基础上在选较高的水池的一边,在这个过程中计算面积最大值,保存即可。

class Solution {
public:
    int maxArea(vector<int>& height) {
        int maxArea = 0;
        for (int i = 0, j = height.size() - 1; i < j; ) {
            if (height[i] <= height[j]) {
                maxArea = max((j - i) * height[i], maxArea);
                i++;
            } else {
                maxArea = max((j - i) * height[j], maxArea);
                j--;
            }
        }
        return maxArea;
    }
};


原文地址:https://blog.csdn.net/GouDanAndOcean/article/details/142906947

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!