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

环保设计院的网站建设有哪些网站有做网页用的小图片

环保设计院的网站建设,有哪些网站有做网页用的小图片,济南seo公司案例,网页设计公司介绍怎么写栈 (1)20. 有效的括号 d {):(, ]:[, }:{}stack []for i in s:# 遇到左括号,入栈if i in ([{:stack.append(i)# 遇到右括号,出栈左括号,看是否有匹配的左括号else:if not stack: # 栈空的时候遇到右括号,则一定不能匹配return Falseif d[i] stack[-1…

(1)20. 有效的括号

在这里插入图片描述

        d = {')':'(', ']':'[', '}':'{'}stack = []for i in s:# 遇到左括号,入栈if i in '([{':stack.append(i)# 遇到右括号,出栈左括号,看是否有匹配的左括号else:if not stack:  # 栈空的时候遇到右括号,则一定不能匹配return Falseif d[i] == stack[-1]:  # 右括号与前面的左括号匹配stack.pop()else:return Falseif not stack:  # 栈为空, 说明全部都匹配成功return Truereturn False

(2)155. 最小栈

在这里插入图片描述

维护一个最小栈,存储当前栈的最小值
栈尾总是当前栈的最小值

  • push时需要判断新加入的值是否小于 min_st[-1]
  • pop的时候需要判断pop的元素是否是 min_st[-1]
class MinStack:def __init__(self):self.stack = []self.min_st = []  # 保存stack中的最小值def push(self, val: int) -> None:self.stack.append(val)if not self.min_st or self.min_st[-1] >= val:self.min_st.append(val)def pop(self) -> None:if self.stack.pop() == self.min_st[-1]:self.min_st.pop()def top(self) -> int:return self.stack[-1]def getMin(self) -> int:return self.min_st[-1]

(3)394. 字符串解码

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

示例:3[a2[c]]

  1. 3[ a2[c] ]
  2. a2[c]
  3. 2[c]

  1. 2[c] --> cc
  2. a2[c] --> acc
  3. 3[ a2[c] ] --> acc acc acc
class Solution:def decodeString(self, s: str) -> str:stack = []res = ''  # 当前解码的字符串multi = 0  # 当前的倍数for c in s:if c == '[':stack.append((res, multi))  # 数字之前的结果,以及数字multi = 0res = ''elif '0' <= c <= '9':multi = multi * 10 + int(c)elif c == ']':last_res, cur_multi = stack.pop()res = last_res + cur_multi * reselse:res += creturn res

(4)739. 每日温度

在这里插入图片描述
单调栈

  • 及时去掉无用数据
  • 保证栈中元素有序
    在这里插入图片描述

方法一:从左往右遍历

  • 栈内保留还没有找到答案的元素
  • 当元素大于栈顶时出栈栈顶, 每次在出栈的时候更新答案,

在这里插入图片描述

class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n = len(temperatures)ans = [0] * nst = []  # 存储数组下标for i in range(n):t = temperatures[i]while st and t > temperatures[st[-1]]:j = st.pop()ans[j] = i - jst.append(i)return ans

方法二:从右往左遍历

  • 逐步出栈,直到遇到符合条件的温度,更新答案
class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n = len(temperatures)ans = [0] * nst = []  # 存储数组下标for i in range(n-1, -1, -1):t = temperatures[i]# 如果栈顶元素小于当天温度,则持续出栈,直到找到while st and t >= temperatures[st[-1]]:st.pop()if st:ans[i] = st[-1] - ist.append(i)return ans                   

堆是一颗完全二叉树,即每一层都被完全填满,最后一层从左到右填充

最大堆

  • 父节点 >= 子结点,堆顶为最大值
      10/  \8    9/ \  / 3  7 4

最小堆

  • 父节点 <= 子结点,堆顶为最小值
      3/ \7   4/ \ 8   9

堆的插入和删除操作的时间复杂度为 O(log n),n为堆的元素个数

heapq 模块默认是 最小堆,要实现最大堆,可以将所有元素取反


(1)215. 数组中的第K个最大元素

在这里插入图片描述

最小堆

  • 维护一个大小为k的最小堆
  • 最终堆顶就是第 k 大的元素
import heapq
class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:min_heap = nums[:k]heapq.heapify(min_heap)  # 使用前k个元素构建最小堆# 从第 k+1 个元素开始遍历for num in nums[k:]:if num > min_heap[0]:heapq.heappop(min_heap)  # 弹出堆顶元素heapq.heappush(min_heap, num)  # 插入新的元素return min_heap[0]  # 堆顶元素就是第 K 个最大的元素

最大堆

  • 将整个数组堆化,逐个弹出堆顶
  • 第 k 个堆顶就是第 k 大的元素
import heapq
class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:nums = [-num for num in nums]heapq.heapify(nums)for _ in range(k):res = -heapq.heappop(nums)return res

(2)347. 前 K 个高频元素

使用 Counter 统计每个元素的频率
使用最小堆,维护一个大小为 k 的频率

heapq.heappush(heap, (count, num))

  • heap中加入元素 (count, num)
  • 最小堆会自动首先按照第一个元素 count 大小排序,构建最小堆
import heapq
from collections import Counterclass Solution:def topKFrequent(self, nums: List[int], k: int) -> List[int]:cnt = Counter(nums)  # 统计词频heap = []for num, count in cnt.items():heapq.heappush(heap, (count, num))if len(heap) > k:heapq.heappop(heap)return [num for count, num in heap]

文章转载自:

http://PnqiHQ82.hdscx.cn
http://lRXSUuMr.hdscx.cn
http://vjHkX409.hdscx.cn
http://z1JKLplf.hdscx.cn
http://sVKrgi0q.hdscx.cn
http://xAGPQSmG.hdscx.cn
http://GcJX2c3R.hdscx.cn
http://AnY06f7Z.hdscx.cn
http://OeVmJliU.hdscx.cn
http://LBXOPS6k.hdscx.cn
http://n7jxwy7Y.hdscx.cn
http://P3tXElg5.hdscx.cn
http://5sJmOACW.hdscx.cn
http://3tizPfcC.hdscx.cn
http://bkLiAOqP.hdscx.cn
http://awfNMv2a.hdscx.cn
http://hzu9nwTp.hdscx.cn
http://Rhk5COIp.hdscx.cn
http://swimkXEo.hdscx.cn
http://fFTNatdT.hdscx.cn
http://zKKay8f4.hdscx.cn
http://hbY6wQY9.hdscx.cn
http://LNDmyxDh.hdscx.cn
http://KiUBArKi.hdscx.cn
http://tYAzLR3u.hdscx.cn
http://9dUh2KCe.hdscx.cn
http://keu2QaQ3.hdscx.cn
http://dGkkpQXj.hdscx.cn
http://XwxBIzvj.hdscx.cn
http://e7Jj334T.hdscx.cn
http://www.dtcms.com/wzjs/699832.html

相关文章:

  • 住房建设局网站首页经典软文推广案例
  • 做首饰网站中信建设有限责任公司校招
  • 网站建设小组的五类成员福田庆三整鼻子好吗
  • 武威市建设局网站 放管服购物网站怎么做
  • 做网站挣钱经历软件开发工程师职业分析
  • 绵阳安州区做网站的有哪些做订餐网站数据库应该有哪些表
  • 做网站图片多大建设银行网站logo
  • 做几何图形和网站网站建设所有软件清单
  • 移动网站开发 书仿站工具教程
  • 网站平台优化免费制作封面的网站
  • 崇卅市网站建设erp是什么意思
  • 寒亭网站建设代理网上注册公司
  • pc网站设计哪家公司好wordpress修改博客
  • 网站建设领导讲话稿收录网站有哪些
  • 网站26个页面收费淄网站做网站
  • 苏州网站建设公司排名wordpress博客亚马逊广告
  • 网站建设论文总结哈尔滨网站专业制作
  • 做旅游计划上哪个网站静态网站怎么样
  • 如何查询网站后台地址joomla功能型网站建设
  • 长沙网站设计培训学校怎么做网站建设赚钱
  • 跳蚤市场网站开发背景深圳网站建设制作培训
  • 杭州网站制作公司排名鸣蝉小程序制作平台
  • 如何给网站加关键词互联网开发工资一般多少
  • 做飞象金服的网站网络推广培训有哪些课程
  • 苏州制作公司网站的关于申请建设网站的请示
  • 山东省城乡建设厅网站高唐网站建设公司
  • 重庆响应式网站建设哪家有许昌网络推广哪家好
  • 杭州智能模板建站wordpress在线不能播放视频
  • 给个手机网站就这么难吗大兴网站建设
  • 上海正规网站制作价格微信购物网站开发