1 bu
不合格答案 暴力
// 时间超时int my_1(vector<int>& height){// x * hign_minint max_=0;for(int i=0; i<height.size()-1;i++){for(int j=i+1; j<height.size();j++){int high_= std::min(height[i],height[j]);int wigth_=j-i;int cureent_=high_*wigth_;max_=std::max(cureent_,max_);}}return max_;}
参考思路1
// 参考思路自己写int my_2(vector<int>& height){int max_=0;int i=0;int j=height.size()-1;while(i<j){int high_= std::min(height[i],height[j]);int wigth_=j-i;int cureent_=high_*wigth_;// if(cureent_>max_){ // 完美答案 100%// max_=cureent_;// }max_=std::max(cureent_,max_); // 16% 击败 每次都要执行 浪费时间if(height[i]>=height[j]){j--; }else{i++;}}return max_;}
完善2
class Solution { public:// 时间超时int my_1(vector<int>& height){// x * hign_minint max_=0;for(int i=0; i<height.size()-1;i++){for(int j=i+1; j<height.size();j++){int high_= std::min(height[i],height[j]);int wigth_=j-i;int cureent_=high_*wigth_;max_=std::max(cureent_,max_);}}return max_;}// 参考思路自己写int my_2(vector<int>& height){int max_=0;int i=0;int j=height.size()-1;while(i<j){int high_= std::min(height[i],height[j]);int wigth_=j-i;int cureent_=high_*wigth_;if(cureent_>max_){ // 完美答案 100%max_=cureent_;}// max_=std::max(cureent_,max_); // 16% 击败 每次都要执行 浪费时间if(height[i]>=height[j]){j--; }else{i++;}}return max_;}int maxArea(vector<int>& height) {//return my_1(height);return my_2(height);// }};