心路历程:
之前看过B站灵神的这道题的解析,这道题的难点在于在双指针遍历的过程中,每次移动最矮的那个指针,因为只有这样才有可能在后面遍历到更大的接水容量。
注意的点:
1、双指针模板下只需要确定指针的更新建模,每个while循环尽量都只更新一步。
解法:双指针
class Solut服务器托管网ion:
def maxArea(self, height: List[int]) -> int:
# 双指针
n = len(height)
left, right = 0, n-1
max_water = 0
while left right:
water = (right - left) * min(height[left], height[right])
max_water = max(water, max_water)
if height[left] height[right]: # 左边的线短一点,移动左边的
left += 1
服务器托管网 else:
right -= 1
return max_water
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: C语言字节对齐关键字__attribute__((aligned(n)))的使用
0 前言 在进行嵌入式开发的过程中,我们经常会见到对齐操作。这些对齐操作有些是为了便于实现指针操作,有些是为了加速对内存的访问。因此,学习如何使用对齐关键字是对于嵌入式开发是很有必要的。 1 对齐规则 1.0 什么叫做对齐 众所周知,内存的最小单位是字节。理论…