短板效应C++代码实现
生活随笔
收集整理的這篇文章主要介紹了
短板效应C++代码实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
給定 n 個非負整數 a1,a2,...,an,每個數代表坐標中的一個點 (i, ai) 。在坐標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/container-with-most-water
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
?
?因為盛水多少取決與短板所以我們在移動的時候要移動短板,從兩頭開始移動,誰短移動誰,然后始終保留最大面積的數值。
class Solution { public:int maxArea(vector<int>& height) {if(height.size()<=1)//size用來獲取字符長度,不用length的原因是length不能獲取vector類型的長度//注意與sizeof區分 sizeof用來獲取對象占用內存的字節數。return -1;int i=0,j=height.size()-1,res=0;while(i<j){if(height[i]<height[j]){res=max(res,height[i]*(j-i));i++;}else{res=max(res,height[j]*(j-i));j--;}}return res;} };?
總結
以上是生活随笔為你收集整理的短板效应C++代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式匹配C++代码实现
- 下一篇: python滚动条自动向下,python