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

知名手机网站wordpress windows 伪静态

知名手机网站,wordpress windows 伪静态,免费制作微信小程序软件,电商网站流程题目 双指针 思路1 使用参数存储从左往右#xff08;从右往左同理#xff09;遍历时的最高的柱子#xff0c; 然后移动左右的指针#xff0c;每次移动左右指针中偏向小的#xff0c; 如果当前指针指的柱子小于最高的柱子#xff0c;就会存在接到水。 思路2 把水看作柱子从右往左同理遍历时的最高的柱子 然后移动左右的指针每次移动左右指针中偏向小的 如果当前指针指的柱子小于最高的柱子就会存在接到水。 思路2 把水看作柱子那么整个柱子都会变成凸的样子不会出现凹的情况如果有凹会被水填满 那么我们的参数l_maxr_max就是在记录凸的地方和height里的凹的数据进行比较记录雨水。 class Solution(object):def trap(self, height): len_h len(height)l, r 0, len_h - 1l_max, r_max 0, 0ans 0while l r:l_max max(l_max, height[l])r_max max(r_max, height[r])if height[l] height[r]:ans l_max - height[l]l 1else:ans r_max - height[r]r - 1return ans 动态规划 思路分别记录从左到右/从右到左的的最高柱子思路和双指针一样class Solution:def trap(self, height: List[int]) - int:if not height:return 0n len(height)leftMax [height[0]] [0] * (n - 1)for i in range(1, n):leftMax[i] max(leftMax[i - 1], height[i])rightMax [0] * (n - 1) [height[n - 1]]for i in range(n - 2, -1, -1):rightMax[i] max(rightMax[i 1], height[i])ans sum(min(leftMax[i], rightMax[i]) - height[i] for i in range(n))return ans 前后缀分解 思路和双指针思路相似记录两边的最高柱 class Solution(object):def trap(self, height)::type height: List[int]:rtype: intn len(height)# pre_max [0] * n# pre_max[0] height[0]pre_max height.copy()for i in range(1, n):pre_max[i] max(pre_max[i-1], height[i])suf_max [0] * n # suf_max[i] 表示从 height[i] 到 height[n-1] 的最大值suf_max[-1] height[-1]for i in range(n - 2, -1, -1):suf_max[i] max(suf_max[i 1], height[i])ans 0for h, pre, suf in zip(height, pre_max, suf_max):ans min(pre, suf) - h #累计每个水桶能接多少水return ans 栈 思路 使用栈按单调递减记录左边柱子的情况当识别到高于目前栈顶的元素的时候不断弹出栈顶的元素作为坑底将栈前一个元素作为左边界当前元素h作为右边界横着计算水坑。while循环就是不断地计算横着的水坑直到识别到左边没有合适的边界无法形成水坑/左边的边界大于当前元素。最后将目前的柱子推入栈。 注意 while 中加了等号这可以让栈中没有重复元素从而在有很多重复元素的情况下使用更少的空间。 class Solution(object):def trap(self, height)::type height: List[int]:rtype: intans 0st []for i, h in enumerate(height):# 当栈不为空且当前高度大于栈顶索引对应的高度时while st and height[st[-1]] h: bottom_h height[st.pop()] # 弹出栈顶元素这个位置将作为水坑底部if not st: # 如果栈空了说明左边没有更高的边界无法形成水坑break left st[-1] # 此时栈顶元素就是左边界dh min(height[left], h) - bottom_h # 计算水坑的高度左右边界中较低的那个减去底部高度ans dh * (i - left - 1)# 计算水坑的宽度当前位置到左边界的距离减1st.append(i) # 把当前位置加入栈保持栈的单调递减特性return ans
http://www.pierceye.com/news/495013/

相关文章:

  • 网站搜索引擎提交wordpress发布站点
  • 阳春网站建设天水网站seo
  • 仙桃市建设局网站wordpress链接前面的图标
  • 温州市城乡建设建档案馆网站公司装修费用可以一次性入账吗
  • 房地产开发公司网站宠物网页设计模板
  • 网站备案信息可以改吗中国做二手房最大的网站
  • 设计 企业网站罗湖网站-建设深圳信科
  • 太原自助模板建站手机版电脑qq登录入口
  • 公司网站建设哪家比较好app 网站
  • 建设银行个人网站打不开个人主页模板下载
  • 山西建设公司网站wordpress视频适应手机端
  • 原型样网站做一般的公司门户网站投资额
  • 南宁百度网站公司电话网站配置优化
  • 德州网站建设的公司免费注册公司怎么注册
  • 成都开发网站建设中国建设规划采购网站
  • 企业网站建设应避免数据孤岛深圳东莞网站建设
  • pk10网站怎么做郑州seo费用
  • 菏泽市建设局网站电话网站建设服务咨询
  • 购物网站模版广州外贸网络推广
  • 高碑店网站网站建设手机软件开发的模式
  • 公司网站开发国内外现状网络营销外包团队哪些好
  • 淘客网站怎么建立如何用api做网站
  • 合肥网站建设ahyedawordpress主题安全
  • 网站建设实训室介绍东莞seo广告宣传
  • 公职人员可以做公益网站吗aws网站建设
  • 什么叫高端网站定制广州建筑公司
  • 全新网站如何做百度竞价网站制作现状解决方案
  • 阿里云esc建设网站近三天时政热点
  • 怎样做公司网站介绍仿站网站源码下载
  • 电子商务网站规划与建设摘要软件app定制开发