题目描述

给定n个柱面的高度,表示降雨某地n块区域的海拔高度。 计算降雨之后该地最大储水面积。如果低于地平线,也就是小于0,则一定积水

输入描述:

第一行输入整数n.(1<=n<=10000) 第二行输入n个高度整数h。(-10000<=h<=10000)

输出描述:

输出答案。

示例

输入

12
0 1 0 2 1 0 1 3 2 1 2 1

输出

6

代码

class Solution:def __init__(self) -> None:passdef solution(self, n, arr):result = 0low_water = 0max_water = 0# TODO: 请在此编写代码i = 0for x in range(0, len(arr)-1):if arr[x] > arr[x+1]:i = x
#                print(i)breakhigh_water = arr[i]high_i = i
#        print(i)while(i < len(arr)-1):
#            print(str(i)+"|||||||"+str(len(arr)))i = i+1
#            print(str(high_i)+"=="+str(high_water)+"=="+str(arr[i]))if i < len(arr)-2:if high_water <= arr[i] and arr[i] > arr[i+1]:low_water = arr[i]j_ori = high_i + 1if high_water == 0 and i>0:max_water = low_waterj_ori = high_ielif high_water > low_water:max_water = low_waterelse:max_water = high_water
#                        print(str(max_water)+"++"+str(low_water))for j in range(j_ori, i):result = result + (max_water - arr[j])high_i = ihigh_water = arr[i]elif i == len(arr)-1:i = high_ihigh_i = high_i+1high_water = arr[high_i]else:if high_water <= arr[i]:low_water = arr[i]j_ori = high_i + 1if high_water == 0 and i>0:max_water = low_waterj_ori = high_ielif high_water > low_water:max_water = low_waterelse:max_water = high_water
#                        print(str(max_water)+"++"+str(low_water)+"++high_i:"+str(high_i))for j in range(j_ori, i):
#                        print("222:"+str(result))result = result + (max_water - arr[j])
#                        print("222:"+str(result))high_i = ihigh_water = arr[i]elif i == len(arr)-1:high_i = high_i+1high_water = arr[high_i]i = high_i-1if high_i == len(arr)-2:break# TODO: 请在此编写代码return resultif __name__ == "__main__":n = int(input().strip())arr = [int(item) for item in input().strip().split()]sol = Solution()result = sol.solution(n, arr)print(result)

通过率40%

降水量(python)相关推荐

  1. 使用Python从逐月降水量数据中获取某位置的全年降水量

    1 数据下载 可以在中国科技资源共享网中进行下载1km分辨率逐月降水量数据集. 2 数据说明 该数据为.nc格式,里面有lat.lon.time和pre四个数据块,其中lat.lon是[H, W]形状 ...

  2. Python超简单容易上手的画图工具库

    今天,在网上发现一款很棒的python画图工具库.很简单的api调用就能生成漂亮的图表.并且可以进行一些互动. pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开 ...

  3. python大量数据折线图-Python数据可视化练习:各种折线图的用法

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于python数据分析之禅 ,作者鸟哥 折线图是排列在工作表的列或行 ...

  4. python字符串写入excel-使用python将数据写入excel

    由于经常需要用到这方面的内容,所以要好好记录一下,省的以后老找了 使用的代码版本为 Python3 首先呢,数据是这个样子的 V04002 V01000 V04001 V10004 V12001 V1 ...

  5. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  6. python subplot_气象编程 | 一个简单的风数据处理和分析案例(Python版)

    添加新云天气象小编微信或QQ:130188121,及时获取或发布气象升学.就业.会议.征稿及学术动态信息!最新热点文章:行业动态 | 2020中国气象现代化建设科技博览会行业动态 | "远征 ...

  7. 【Python】Pyecharts数据可视化模块练习

    python:Pyecharts数据可视化模块练习 # -*- coding: utf-8 -*- """ Created on Sun Aug 5 22:16:09 2 ...

  8. python 创建netcdf_python读取与处理netcdf数据方式

    netcdf是气候数据中的主流格式,当涉及到大范围的全球数万个格网点数据时,使用python脚本可以较快地读取与处理. import netCDF4 from netCDF4 import Datas ...

  9. 含最新数据! 使用Python检测新冠肺炎疫情拐点

    注:本文案例仅供技术学习,不代表研究性观点. 本文对应代码.数据及文献资料已上传至Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ...

最新文章

  1. Springboot启动原理解析
  2. 黄聪:SQL server 2005高可用性之----数据库镜像
  3. 前端知识点总结——JS高级(持续更新中)
  4. 语言深入:java中究竟是传值还是传引用
  5. 何谓成功的软件架构设计
  6. java调度:(四) spring中使用quartz的配置文件.
  7. 使用boost.python进行混合开发
  8. 《数据分析思维手册.pdf》,真的强!
  9. Sring类型数组赋值
  10. java学习(129):hashmap的方法
  11. iOS开发UI篇—懒载入
  12. 哇塞,打开一个页面访问了这么多次数据库??
  13. java 输入16进制_尝试使用十六进制输入来使用小端和大端
  14. 对系统组件化接口设计的一点看法
  15. git config命令入门
  16. escape encodeURI 和encodeURIComponent JS编码
  17. 从Java到JVM到OS线程睡眠
  18. Zabbix监控之检测程序日志中错误发生的次数
  19. PHP基础--PDO的常用操作
  20. phpword生成图表

热门文章

  1. 中国石油大学《工程热力学与传热学》第二阶段在线作业
  2. P2853 [USACO06DEC]Cow Picnic S
  3. Python计算山东新高考选考科目卷面原始成绩为等级成绩
  4. apache mpm php 安全,ubuntu切换为apache+php-fpm+mpm_event
  5. 计算机教师幽默介绍,数学老师幽默自我介绍关于数字
  6. 自我介绍html模板王,自我介绍模板600字
  7. Windows10安装mysql-8.0.28-winx64
  8. CSS中文本对齐方式-文本处理案例
  9. PLSQL查询数据库操作历史记录
  10. 网络扫描与网络侦察一