Objective-C实现Trapping Rain Water捕获雨水问题算法
Trapping Rain Water”问题是一个经典的算法问题,通常用来考察对数组和双指针或动态规划的理解。下面是使用Objective-C实现的解决方案。
问题描述
给定一个非负整数数组 height,其中每个元素代表柱子的高度,计算可以捕获的雨水总量。
算法思路
我们可以使用双指针的方法来解决这个问题:
使用两个指针 left 和 right,分别指向数组的两端。
使用两个变量 left_max 和 right_max 来记录当前左边和右边的最大高度。
移动指针,更新最大高度和计算雨水量。
Objective-C 完整源码
#import
@interface RainWaterTrapper : NSObject
(NSInteger)trap:(NSArray<