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

网站建设年度报告注册google账号

网站建设年度报告,注册google账号,宝安沙井天气,海淀网站建设怎么样1.1滑动窗口最大值 给你一个整数数组 nums#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 输入#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输出有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 输入nums [1,3,-1,-3,5,3,6,7], k 3 输出[3,3,5,5,6,7] 优先队列 优先队列具有队列的所有特性包括队列的基本操作只是在这基础上添加了内部的一个排序它本质是一个堆实现的。 在优先队列中元素被赋予优先级。当访问元素时具有最高优先级的元素最先删除。优先队列具有最高级先出他和队列不同的就在于我们可以自定义其中数据的优先级,让优先级高的排在队列前面,优先出队。 python的heapq堆 堆是一个二叉树有两种堆,最大堆与最小堆。 heapq库中的堆默认是最小堆。 1.最小堆树中各个父节点的值总是小于或等于任何一个子节点的值。 2.最大堆树中各个父节点的值总是大于或等于任何一个子节点的值。 import heapq qheapq.heapify([3,6,4,1]) #将列表转化为堆 heapq.heappush(q,item) #往堆q里面添加元素item heapq.heappop(q) #删除q中顶部元素 heapq.heapreplace(q,100) #删除顶部元素加入新值100 #比较77和q中顶部元素77如果大删除并返回第一个元素如果小返回77原堆不变 heapq.heappushpop(q,77) heapq.nlargest(n,q/[3,6,4,1]) #返回堆中最大的前n个 heapq.nsmallest(n,q/[3,6,4,1]) #返回堆中最小的前n个代码 返回最大值所以优先级采用负数 def maxSlidingWindow(self,nums,k):nlen(nums)#heapq默认为小根堆我们要找最大值所以使用-nums[i]为优先级#-nums[i]为优先级 i为数据下标作为数据传入前k个数据q[(-nums[i],i) for i in range(k)] heapq.heapify(q) #将列表转化为堆res[-q[0][0]] #q[0](-3,-1) -q[0][0]3 第一个滑动窗口的最大值for i in range(k,n):heapq.heappush(q,(-nums[i],i)) #添加新元素#如果数据出现在滑动窗口的左侧将其从堆中删除while q[0][1]i-k: #i是滑动窗口的右侧i-k是滑动窗口的左侧heapq.heappop(q)res.append(-q[0][0]) #存储栈顶的元素return res1.2最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串则返回空字符串 “” 。 注意 对于 t 中重复字符我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串我们保证它是唯一的答案。 输入s “ADOBECODEBANC”, t “ABC” 输出“BANC” 解释最小覆盖子串 “BANC” 包含来自字符串 t 的 ‘A’、‘B’ 和 ‘C’。 枚举 for i,item in enumerate([2,3,4]):print(i,item) 0 2 1 3 2 4for i,item in enumerate([2,3,4],start10):print(i,item) 10 2 11 3 12 4代码 def minWindow(self, s: str, t: str) - str:need collections.defaultdict(int)for c in t:need[c] 1 needCnt len(t)i 0 # 记录起始位置res (0, float(inf)) # 用两个元素方便之后记录起终点# 三步骤# 1. 增加右边界使滑窗包含tfor j, c in enumerate(s):if need[c] 0:needCnt - 1need[c] - 1 # 这行放在外面不可以看19行 need[c] 0# 2. 收缩左边界直到无法再去掉元素 !注意处理的是iif needCnt 0: #此时已经包含了t所需的所有元素while True:c s[i]if need[c] 0: # 表示再去掉就不行了(need0)breakelse:need[c] 1i 1if j - i res[1] - res[0]: # 这里是否减一都可以只要每次都是这样算的就行反正最后也是输出子串而非长度res (i, j)# 3. i多增加一个位置准备开始下一次循环(注意这步是在 needCnt 0里面进行的 )need[s[i]] 1needCnt 1 # 由于 移动前i这个位置 一定是所需的字母因此NeedCnt才需要1i 1return if res[1] len(s) else s[res[0]: res[1] 1]参考代码 参考博客 参考博客1 参考博客2
http://www.hkea.cn/news/14296789/

相关文章:

  • 住房和城市建设厅网站2016企业网站建设方案
  • 河南专业网站建设公司排名中小企业建站是什么
  • 临海钢结构设计网站wordpress安装不了主题
  • 做网站智能工具中国建设银行网址是什么
  • 烟台网站建设4038gzs培训教育机构
  • 自动注册wordpress账号软件google企业网站seo
  • 苏州知名高端网站建设企业大庆今天最新公告
  • 河北省城乡和建设厅网站首页阀门公司网站建设
  • 阿瓦提网站建设项目投资
  • 织梦做的网站有哪些小程序制作软件下载
  • 免费网站建设福州工作室网站建设的意义
  • wordpress建站腾讯云现在pc网站的标准一般是做多大
  • 网站开速度 流失网站开发之前前后端不分离
  • 可以做系统同步时间的网站制作商城公司
  • 基础型网站价格网站设计中怎么做二级页面
  • 企业做网站平台的好处设计师个人主页
  • 深圳住房和建设局网站官网打不开综合门户网站什么意思
  • 在哪找专业做淘宝网站wap网站解析
  • 怎样营销网站建设江门seo推广公司
  • 摄影网站源码 国外什么网站做旅行计划
  • 淘宝客建立网站二维码生成器网页版
  • 做气体检测仪的网站贵州高端网站开发
  • 扬州做网站哪家好手机网站空间申请
  • 重庆在线平台南宁seo公司哪家好
  • 网站备案接入商是什么无线网址域名注册
  • 泛微e8做网站门户网页设计尺寸单位一般为
  • 青岛网站建设搜q.479185700佛山网站建设 骏域
  • 南宁网站建设优化案例wordpress模板安装完没有导航栏
  • 济宁网站建设软件最近免费中文在线电影
  • 海关年检要去哪个网站上做Wordpress启动mysql