[11] boucle active Sheng la plupart des conteneurs d'eau

Tout d'abord, le sujet description:

Vous donner un entier non négatif n a1, a2, ..., an, un point (i, ai) représentent chacun le nombre de coordonnées. Vidéos n lignes de coordonnées verticales, i est une ligne verticale deux points d'extrémité sont (i, AI) et (i, 0). Savoir les deux lignes, qui, ensemble avec le récipient de sorte que la configuration de l'axe x peut accueillir jusqu'à l'eau.

Remarque: Vous ne pouvez pas l'inclinaison du récipient, et la valeur de n est au moins 2.

Insérer ici l'image Description

ligne verticale la figure représente la matrice d'entrée [1,8,6,2,5,4,8,3,7]. Dans ce cas, le conteneur maximal capable de contenir l'eau (comme indiqué bleu) de 49.

exemple:

输入:[1,8,6,2,5,4,8,3,7]
输出:49

Source: bouton séjour (LeetCode)
lien: https: //leetcode-cn.com/problems/container-with-most-water
copyright par prélèvement sur tous les réseaux. réimpression commerciale s'il vous plaît contacter la réimpression officielle autorisée, non commercial s'il vous plaît indiquer la source.

En second lieu, les idées de résolution de problèmes:

pointeur double, point de gauche à l'extrême gauche élément, le point droit de l'élément le plus à droite, de sorte que chaque élément est déplacé à une valeur intermédiaire est plus petit, la surface de chaque enregistrement, lorsque le (gauche <droite) n'a pas été satisfait, les extrémités de cycle, renvoie la valeur maximale.

En troisième lieu, Code Description:

class Solution {
    public int maxArea(int[] height) {
        if(height.length==0||height.length==1){
            return 0;
        }
       int left=0;
       int right=height.length-1;
       int max=0;
       int high=0;
       while(left<right){
          int width=right-left;
          //左边的元素值小,向中间移动,右边不动。
           if(height[left]<height[right]){
               high=height[left];
               left++;
           }
           else{
                high=height[right];
               right--;
           }
           //计算面积最大值
            max=max>(width*high)?max:(width*high);
       }
       return max;
    }
}
Publié 75 articles originaux · a gagné les éloges 14 · vues 1892

Je suppose que tu aimes

Origine blog.csdn.net/qq_45328505/article/details/104813259
conseillé
Classement