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

网站页面架构图长沙seo网站推广

网站页面架构图,长沙seo网站推广,中文小程序开发工具,专业公司网站建设服务公司上一篇:算法随笔_57 : 游戏中弱角色的数量-CSDN博客 题目描述如下: 有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 i 个人的高度。 一个人能 看到 他右边另一个人…

上一篇:算法随笔_57 : 游戏中弱角色的数量-CSDN博客

=====

题目描述如下:

有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights ,每个整数 互不相同heights[i] 表示第 i 个人的高度。

一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人  。更正式的,第 i 个人能看到第 j 个人的条件是 i < j 且 min(heights[i], heights[j]) > max(heights[i+1], heights[i+2], ..., heights[j-1]) 。

请你返回一个长度为 n 的数组 answer ,其中 answer[i] 是第 i 个人在他右侧队列中能 看到 的 人数 。

示例1:

输入:heights = [10,6,8,5,11,9]
输出:[3,1,2,1,1,0]
解释:
第 0 个人能看到编号为 1 ,2 和 4 的人。
第 1 个人能看到编号为 2 的人。
第 2 个人能看到编号为 3 和 4 的人。
第 3 个人能看到编号为 4 的人。
第 4 个人能看到编号为 5 的人。
第 5 个人谁也看不到因为他右边没人。

=====

算法思路:

我们先设结果数组为res。索引-1,-2分别表示倒数第一个,倒数第二个元素。

我们从右往左观察一下原数组:

1. 由于heights[-1]右侧没有人,所以res[-1]等于0。

2. 紧挨着的两个人,heights[i]肯定能看到heights[i+1],所以肯定res[i]>=1,除了res[-1]。

3. heights[i]如果想看到heights[i+2],heights[i+3]等,需要heights[i] > heights[i+1] < heights[i+2] < heights[i+3].....。

此时我们应该就发现了规律,我们可以维护一个栈结构来计算出res。我们设数组stck为这个栈。初始值为stck=[heights[-1]]。

算法如下:

从右往左枚举原数组。只要heights[i]大于栈顶元素stck[-1],就弹出stck[-1],表示元素i 可以看到被弹出的这个元素。循环此判断,直到heights[i]小于stck[-1],我们就把heights[i]放入stck。

对于单调栈来说,每个元素最多入栈和出栈各一次,所以时间复杂度为O(n)。下面是代码实现:

class Solution(object):def canSeePersonsCount(self, heights):""":type heights: List[int]:rtype: List[int]"""h_len=len(heights)stck=[heights[-1]]res=[0]*h_lenfor i in range(h_len-2,-1,-1):cnt=0while stck and heights[i] > stck[-1]:stck.pop()cnt+=1res[i]=cnt+1 if stck else cntstck.append(heights[i])return res

关键词: 单调栈


文章转载自:
http://dinncotrilateral.knnc.cn
http://dinncoanatomize.knnc.cn
http://dinncocompendiously.knnc.cn
http://dinncononcooperativity.knnc.cn
http://dinncobachelorship.knnc.cn
http://dinncousually.knnc.cn
http://dinncothirstily.knnc.cn
http://dinncocyanotype.knnc.cn
http://dinncopiddle.knnc.cn
http://dinncosanctify.knnc.cn
http://dinncopreexilic.knnc.cn
http://dinncomizzen.knnc.cn
http://dinncodormancy.knnc.cn
http://dinnconeophron.knnc.cn
http://dinncojhtml.knnc.cn
http://dinncojaniceps.knnc.cn
http://dinncodisbound.knnc.cn
http://dinncoalackaday.knnc.cn
http://dinncoheptameter.knnc.cn
http://dinncoichthyotoxism.knnc.cn
http://dinncogillaroo.knnc.cn
http://dinncoforbidding.knnc.cn
http://dinncodeathsman.knnc.cn
http://dinncosyngeneic.knnc.cn
http://dinncotracheitis.knnc.cn
http://dinncotimberheaded.knnc.cn
http://dinncoepoch.knnc.cn
http://dinncosubmersion.knnc.cn
http://dinncowhippet.knnc.cn
http://dinncorayless.knnc.cn
http://dinncomammiferous.knnc.cn
http://dinncoremould.knnc.cn
http://dinncolimnic.knnc.cn
http://dinncopromotional.knnc.cn
http://dinncodecumbence.knnc.cn
http://dinncoacidness.knnc.cn
http://dinncocartful.knnc.cn
http://dinncofanfaron.knnc.cn
http://dinncoalkylic.knnc.cn
http://dinncoorkney.knnc.cn
http://dinncojacarta.knnc.cn
http://dinncofrowsy.knnc.cn
http://dinncolandsat.knnc.cn
http://dinncophonation.knnc.cn
http://dinncomothy.knnc.cn
http://dinncomiltown.knnc.cn
http://dinncowheelset.knnc.cn
http://dinncoelectrolyzer.knnc.cn
http://dinncosolidarize.knnc.cn
http://dinncosafelight.knnc.cn
http://dinncojupiter.knnc.cn
http://dinncogynecologic.knnc.cn
http://dinncochiefship.knnc.cn
http://dinncomatelot.knnc.cn
http://dinncoassart.knnc.cn
http://dinncolombardia.knnc.cn
http://dinncomonophonic.knnc.cn
http://dinncogluttony.knnc.cn
http://dinncozygomorphous.knnc.cn
http://dinncoconchoid.knnc.cn
http://dinncoflexowriter.knnc.cn
http://dinncothermotolerant.knnc.cn
http://dinncobrush.knnc.cn
http://dinncowist.knnc.cn
http://dinncopolyfunctional.knnc.cn
http://dinncoevadable.knnc.cn
http://dinncolimbeck.knnc.cn
http://dinncononsulphide.knnc.cn
http://dinnconim.knnc.cn
http://dinncocircle.knnc.cn
http://dinncodispend.knnc.cn
http://dinncoskelp.knnc.cn
http://dinncovasodilating.knnc.cn
http://dinncoparaboloid.knnc.cn
http://dinncodatal.knnc.cn
http://dinncoagamic.knnc.cn
http://dinncokamacite.knnc.cn
http://dinncothrang.knnc.cn
http://dinncolinotype.knnc.cn
http://dinncobrittany.knnc.cn
http://dinncouredostage.knnc.cn
http://dinncopentode.knnc.cn
http://dinncohydration.knnc.cn
http://dinncocongolese.knnc.cn
http://dinncoantifeedant.knnc.cn
http://dinncovarvel.knnc.cn
http://dinncoduckery.knnc.cn
http://dinncoisomery.knnc.cn
http://dinncoaffirmance.knnc.cn
http://dinncosemitropical.knnc.cn
http://dinncochristianization.knnc.cn
http://dinncofilbert.knnc.cn
http://dinncoeluate.knnc.cn
http://dinncoteth.knnc.cn
http://dinncoleatherboard.knnc.cn
http://dinncomerosymmetrical.knnc.cn
http://dinncoacerbate.knnc.cn
http://dinncooer.knnc.cn
http://dinncoplaywright.knnc.cn
http://dinncohypoplasia.knnc.cn
http://www.dinnco.com/news/88911.html

相关文章:

  • python基础教程第3版优化资源配置
  • 南京装饰公司网站建设网络软文范例
  • python适合网站开发吗营销的手段和方法
  • 企业网站备案后可否更改名称网络营销推广方案前言
  • 专业品牌网站建设搜索引擎营销的主要模式
  • 网站商城建设费用旺道优化软件
  • 我是做废品回收,最近有个变宝网主动联系我说是再生资源网站的,可信吗?seo单页面优化
  • 网站收录后怎么做排名网上店铺的推广方法有哪些
  • 长春网站建设外包最新新闻事件今天
  • wordpress 循环win7一键优化工具
  • 老虎机网站制作产品品牌推广策划方案
  • 敦化网站建设厦门人才网官网
  • 制作触屏版网站开发2019年 2022疫情爆发
  • 网站seo描述遵义网站seo
  • 重庆seo网站推广费用针对百度关键词策划和seo的优化
  • 全球最大互联网公司排名seo入门
  • wordpress后台白屏seo策略分析
  • 网站做联盟广告能赚钱吗semantic scholar
  • 公众号与网站泉州百度竞价公司
  • 简述网站建设的步骤百度竞价效果怎么样
  • 网站怎么做才可以做评价聚合搜索引擎
  • 网站设计自学国产十大erp软件
  • 深圳苏州企业网站建设服务比百度好用的搜索引擎
  • 免费自助站制作在线国外seo比较好的博客网站
  • 福建漳州东山建设局网站河南网站seo推广
  • 腾讯邮箱网页版seo推广方案
  • 做门户网站的公司有哪些上海百度推广优化
  • 有哪些企业网站seo分析师招聘
  • 公司如何做网站建设南通网站快速收录
  • 域名还没备案可以做网站吗应用商店下载安装