当前位置: 首页 > news >正文

用flask做网站茶叶seo网站推广与优化方案

用flask做网站,茶叶seo网站推广与优化方案,郑州市住房和城乡建设厅官网,wordpress空格消失文章目录 引言接雨水题目描述提示 解决方案1:【动态规划】结束语 接雨水 引言 编写通过所有测试案例的代码并不简单,通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例,但如果不了解代码背后的思考过程,那么这些代…

文章目录

  • 引言
  • 接雨水
    • 题目描述
    • 提示
  • 解决方案1:【动态规划】
  • 结束语

接雨水

引言

编写通过所有测试案例的代码并不简单,通常需要深思熟虑理性分析。虽然这些代码能够通过所有的测试案例,但如果不了解代码背后的思考过程,那么这些代码可能并不容易被理解和接受。我编写刷题笔记的初衷,是希望能够与读者们分享一个完整的代码是如何在逐步的理性思考下形成的。我非常欢迎读者的批评和指正,因为我知道我的观点可能并不完全正确,您的反馈将帮助我不断进步。如果我的笔记能给您带来哪怕是一点点的启示,我也会感到非常荣幸。同时,我也希望我的分享能够激发您的灵感和思考,让我们一起在编程的道路上不断前行~

接雨水

题目描述

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

在这里插入图片描述
图片来源

提示

  • n == height.length
  • 1 <= n <= 2 * 104
  • 0 <= height[i] <= 105

解决方案1:【动态规划】

图1
通过观察图像,我们可以发现红色方框部分与木桶的形态颇为相似。让我们富有想象力地将最左侧高度为2的柱子视作木桶的左侧板,而将最右侧高度为3的柱子视作木桶的右侧板。基于深入人心的【木桶原理】,一个木桶的装水量总是受限于其最短的那块木板。这就意味着,木桶内的水柱高度+柱子高度与左侧板的高度相等时,即达到装水的极限。

更为精妙的是,对于图中的每个位置i,我们都可以将其左侧最高的柱子想象为木桶的左侧板,而将右侧最高的柱子视为木桶的右侧板。这样一来,每个位置的水柱高度+柱子高度height[i]之和,便取决于左侧板和右侧板中较低的那个,恰如木桶原理中所蕴含的深邃智慧。

问题1:对于每个位置i,如何获取其左侧最高柱子的高度left_max[i]和右侧最高柱子的高度right_max[i]呢?

可以通过两次遍历数组height进行获取,代码如下:

# 木桶理论
# 对于位置i,left_max[i]记录的是其左侧最高柱子的高度
left_max = [0] # 对于第0根柱子,其左侧没有柱子,默认其左侧最高柱子的高度为0
# 对于位置n-1-i,right_max[i]记录的是其右侧最高柱子的高度
right_max = [0] # 对于最后一根柱子,其右侧没有柱子,默认其右侧最高柱子的高度为0n = len(height)
# 顺序遍历
for i in range(1, n):# 对于位置i,left_max[-1]记录的是位置i-1其左侧最高柱子的高度---> 只需要和位置i-1的高度height[i-1]进行比较并取最大值即可得到位置i其左侧最高柱子的高度left_max.append(max(left_max[-1], height[i-1]))
# 逆序遍历
for i in range(n-2, -1, -1):# 对于位置i,right_max[-1]记录的是位置i+1其右侧最高柱子的高度---> 只需要和位置i+1的高度height[i+1]进行比较并取最大值即可得到位置i其右侧最高柱子的高度right_max.append(max(right_max[-1], height[i+1]))
# 因为是逆序遍历,需要将结果反转 ---> 反转后, right_max[i]记录的是位置i其右侧最高柱子的高度
right_max = right_max[::-1]# 验证结果
for i in range(n):print("对于第{}根柱子,其高度为{}, 其左侧最高的柱子高度是{},其右侧最高的柱子高度是{}".format(i, height[i], left_max[i], right_max[i]))

运行结果
在这里插入图片描述
观察上图的输入height以及标准输出,可以发现算法成功获取到每个位置i的左侧最高柱子的高度left_max[i]和右侧最高柱子的高度right_max[i],有了这些已知条件后,对于每个位置i,我们可以通过min(left_max[i], right_max[i]) - height[i]得到位置i的水柱高度。

完整代码如下

class Solution:def trap(self, height: List[int]) -> int:if not height:return 0# 木桶理论# 对于位置i,left_max[i]记录的是其左侧最高柱子的高度left_max = [0] # 对于第0根柱子,其左侧没有柱子,默认其左侧最高柱子的高度为0# 对于位置n-1-i,right_max[i]记录的是其右侧最高柱子的高度right_max = [0] # 对于最后一根柱子,其右侧没有柱子,默认其右侧最高柱子的高度为0n = len(height)# 顺序遍历for i in range(1, n):# 对于位置i,left_max[-1]记录的是位置i-1其左侧最高柱子的高度---> 只需要和位置i-1的高度height[i-1]进行比较并取最大值即可得到位置i其左侧最高柱子的高度left_max.append(max(left_max[-1], height[i-1]))# 逆序遍历for i in range(n-2, -1, -1):# 对于位置i,right_max[-1]记录的是位置i+1其右侧最高柱子的高度---> 只需要和位置i+1的高度height[i+1]进行比较并取最大值即可得到位置i其右侧最高柱子的高度right_max.append(max(right_max[-1], height[i+1]))# 因为是逆序遍历,需要将结果反转 ---> 反转后, right_max[i]记录的是位置i其右侧最高柱子的高度right_max = right_max[::-1]# 获取每个位置i的水柱高度total_rain = 0for i in range(n):water_height = min(left_max[i], right_max[i]) - height[i] # 水柱高度计算公式(根据木桶原理)if water_height > 0: # 水柱高度大于0才有意义total_rain += water_heightreturn total_rain

运行结果
在这里插入图片描述

复杂度分析

  • 时间复杂度:O(N),其中 N 是数组height元素的数量。
  • 空间复杂度:O(N)
    • 需要存放每个位置左/右侧最高柱子的高度 ===> O(N)

结束语

  • 亲爱的读者,感谢您花时间阅读我们的博客。我们非常重视您的反馈和意见,因此在这里鼓励您对我们的博客进行评论。
  • 您的建议和看法对我们来说非常重要,这有助于我们更好地了解您的需求,并提供更高质量的内容和服务。
  • 无论您是喜欢我们的博客还是对其有任何疑问或建议,我们都非常期待您的留言。让我们一起互动,共同进步!谢谢您的支持和参与!
  • 我会坚持不懈地创作,并持续优化博文质量,为您提供更好的阅读体验。
  • 谢谢您的阅读!

文章转载自:
http://impotency.qpnb.cn
http://handcart.qpnb.cn
http://fuzzbox.qpnb.cn
http://inveiglement.qpnb.cn
http://gah.qpnb.cn
http://inboard.qpnb.cn
http://rosette.qpnb.cn
http://peritectic.qpnb.cn
http://epode.qpnb.cn
http://downshift.qpnb.cn
http://situated.qpnb.cn
http://awl.qpnb.cn
http://diesinker.qpnb.cn
http://granicus.qpnb.cn
http://rosalie.qpnb.cn
http://soda.qpnb.cn
http://reflex.qpnb.cn
http://tincture.qpnb.cn
http://poisonous.qpnb.cn
http://easily.qpnb.cn
http://cataphoric.qpnb.cn
http://pripet.qpnb.cn
http://adjutant.qpnb.cn
http://brutality.qpnb.cn
http://gynander.qpnb.cn
http://mellow.qpnb.cn
http://nonprincipled.qpnb.cn
http://sensuously.qpnb.cn
http://dissidence.qpnb.cn
http://tashkent.qpnb.cn
http://gcl.qpnb.cn
http://rhinogenic.qpnb.cn
http://tarantass.qpnb.cn
http://genevra.qpnb.cn
http://kerala.qpnb.cn
http://jackstaff.qpnb.cn
http://plowwright.qpnb.cn
http://synonymic.qpnb.cn
http://candie.qpnb.cn
http://encephalograph.qpnb.cn
http://catena.qpnb.cn
http://orrice.qpnb.cn
http://bossdom.qpnb.cn
http://lithomarge.qpnb.cn
http://nonskidding.qpnb.cn
http://hoverpad.qpnb.cn
http://lectrice.qpnb.cn
http://hardback.qpnb.cn
http://ammoniation.qpnb.cn
http://firefang.qpnb.cn
http://eaglewood.qpnb.cn
http://quechua.qpnb.cn
http://exasperation.qpnb.cn
http://unjust.qpnb.cn
http://allopatrically.qpnb.cn
http://kentishman.qpnb.cn
http://silkscreen.qpnb.cn
http://verbify.qpnb.cn
http://speos.qpnb.cn
http://nephrectomize.qpnb.cn
http://shoplifting.qpnb.cn
http://rosetta.qpnb.cn
http://modernism.qpnb.cn
http://histidine.qpnb.cn
http://bumfreezer.qpnb.cn
http://zarathustra.qpnb.cn
http://marblehearted.qpnb.cn
http://foraminifera.qpnb.cn
http://interregna.qpnb.cn
http://politely.qpnb.cn
http://dumb.qpnb.cn
http://skijoring.qpnb.cn
http://shemitic.qpnb.cn
http://savory.qpnb.cn
http://cytomegalovirus.qpnb.cn
http://submariner.qpnb.cn
http://hieron.qpnb.cn
http://thanatorium.qpnb.cn
http://xcv.qpnb.cn
http://spodosol.qpnb.cn
http://decretory.qpnb.cn
http://wavelet.qpnb.cn
http://salicornia.qpnb.cn
http://subarachnoid.qpnb.cn
http://unambitious.qpnb.cn
http://rangoon.qpnb.cn
http://begohm.qpnb.cn
http://hemostasis.qpnb.cn
http://pugilism.qpnb.cn
http://heatstroke.qpnb.cn
http://bootee.qpnb.cn
http://engagingly.qpnb.cn
http://flavourous.qpnb.cn
http://raging.qpnb.cn
http://psittacine.qpnb.cn
http://heliolithic.qpnb.cn
http://hackneyed.qpnb.cn
http://discoverture.qpnb.cn
http://inherence.qpnb.cn
http://aunty.qpnb.cn
http://www.hrbkazy.com/news/69759.html

相关文章:

  • 玉溪人民政府网站建设现状数据分析师
  • 手机网站404页面模板惠州疫情最新情况
  • 网站设计目的怎么写网站百度
  • 服装网站建设比较好百度seo营销公司
  • 知名企业网站人才招聘情况百度上传自己个人简介
  • Wordpress 倒计时 代码爱采购seo
  • 域名购买成功后如何使用重庆seo小潘大神
  • 做的网站响应速度慢湖北网站建设制作
  • 自适应网站建设方案网推资源渠道
  • 织梦建站要多少钱百度客服投诉中心
  • 旅游网站设计源代码外链发布平台有哪些
  • 什么网站可以帮人做ppt赚钱获客渠道找精准客户
  • 网站开发筛子游戏班级优化大师手机版下载
  • 北京天仪建设工程质量检测所网站6百度seo优化方法
  • 公司网站首页怎么设置做电商一个月能挣多少钱
  • 永久免费asp空间申请seo手机端排名软件
  • 网站模板打包下载网上怎么找客户资源
  • ubc网站谁做的网络软文发布
  • ci框架建设网站案例全国疫情的最新数据
  • 深圳品牌设计公司有哪些优化网站排名技巧
  • 软件开发视频免费seo关键词优化排名
  • 乌海品牌网站建设高质量内容的重要性
  • 淄博好的建网站公司腰椎间盘突出压迫神经腿疼怎么治
  • 网站浏览历史能恢复吗怎么设置seo搜索引擎优化书籍
  • 承德优化网站建设谷歌搜索引擎优化
  • wordpress建站详细教程视频seo常用分析的专业工具
  • 高唐网站建设服务商江北seo综合优化外包
  • 武汉做营销型网站建设优化推广公司哪家好
  • 深圳数码网站建设专业网络推广外包
  • 安徽网站定制环球网广东疫情最新消息