leetcode Trapping Rain Water pthon
2015-12-24 23:18
316 查看
class Solution(object): def trap(self,nums): leftmosthigh = [0 for i in range(len(nums))] leftmax=0 for i in range(len(nums)): if nums[i] > leftmax: leftmax=nums[i] leftmosthigh[i] = leftmax print leftmosthigh sums=0 rightmax=0 for i in reversed(range(len(nums))): print i if nums[i] > rightmax: rightmax = nums[i] print 'i is',i,'rightmax is',rightmax #current i less than it's two side, then it can trap if min(rightmax,leftmosthigh[i] ) > nums[i]: sums+=min(rightmax,leftmosthigh[i])-nums[i] return sums nums= [0,1,0,2,1,0,1,3,2,1,2,1] obj=Solution() rs=obj.trap(nums) print rs
相关文章推荐
- Android实战技巧:ViewStub的应用
- Android 数据存储SharedPreferences
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android Fragment 真正的完全解析(下)
- Service Android
- Android Fragment 真正的完全解析(上)
- android-app Administration and Device Administration
- Gradle中AndroidManifest中值的替换与快速渠道打包
- android之旅5 sqlite数据库相关
- javascript Object的新方法
- Android-Spelling Checker Framework
- Using ActiveX Object in Qt
- 手机app测试分析方法 -- 逻辑分析法(数据测试方法)
- Android中Parcelable接口(进行序列化)用法
- broadcast广播-Android
- unity, 删除animationEvent
- Android四大组件之Content Provider
- Swift 可选类型(补充)
- Android编程技巧之随意从当前Activity退出应用
- iOS基础之OC:对象作为对象方法的参数