zoukankan      html  css  js  c++  java
  • [LeetCode] Container With Most Water

    Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

    Note: You may not slant the container.

    利用贪心的思想,从头尾开始遍历,移动较矮的索引。基本原理是,一个索引low,一个索引high。装水的容量是由短板决定的,所以需要移动的是短板。

     1 class Solution{
     2 public:
     3     int maxArea(vector<int>& height){
     4         int max_area = 0x8fffffff;
     5         int low = 0;
     6         int high = height.size()-1;
     7         while(low<high){
     8             int temp = (high-low)*min(height[low],height[high]);
     9             if(max_area<temp)
    10                 max_area = temp;
    11             if(height[low]<height[high])
    12                 ++low;
    13             else
    14                 --high;
    15         }
    16         return max_area;
    17     }
    18 };
  • 相关阅读:
    UI 常用方法总结之--- UITableView
    UITextFiled 通知监听
    ios 本地通知
    AFNetworking 请求头的设置
    UI总结
    gitlab-server环境搭建
    redis 配置文件示例
    搭建spark集群
    kafka集群安装
    zookeeper集群搭建
  • 原文地址:https://www.cnblogs.com/zhang-wen/p/4796800.html
Copyright © 2011-2022 走看看