leetcode------Container With Most Water
3771 단어 LeetCode
Container With Most Water
통과율:
31.9%
난이도:
중간
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) 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.
이 문제는 가장 큰 면적의 장방형을 찾는 것이다. 공식은min(h(l), h(r))*(r-l)이다
그러면 틀림없이 양쪽에서 안쪽으로 찾을 것이다. 예를 들면:
만약 h(l)
매번 계산할 때마다result를 한 번 업데이트해야 하는데, 마지막result가 틀림없이 가장 큰 것이다
코드는 다음과 같습니다.
1 public class Solution {
2 public int maxArea(int[] height) {
3 int l=0,r=height.length-1,result=0;
4 while(l<r){
5 result=Math.max(result,Math.min(height[l],height[r])*(r-l));
6 if(height[l]<height[r]){
7 int k=l;
8 while(k<r&&height[k]<=height[l]){
9 k++;
10 }
11 l=k;
12 }
13 else{
14 int k=r;
15 while(k>l&&height[k]<=height[r]){
16 k--;
17 }
18 r=k;
19 }
20 }
21 return result;
22 }
23 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 문자열 입력으로 모든 유효한 IP 주소 생성(LeetCode 93번 문제)이 문제의 공식 난이도는 Medium으로 좋아요 1296, 반대 505, 통과율 35.4%를 눌렀다.각 항목의 지표로 말하자면 보기에는 약간 규범에 맞는 것 같지만, 실제로도 확실히 그렇다.이 문제의 해법과 의도는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.