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

做购物网站那个好wordpress 网站备份

做购物网站那个好,wordpress 网站备份,如何做购物券网站,四川全网推网络推广今日题目#xff1a; Problem 1: 栈的应用 155. 最小栈 | LeetCode20. 有效的括号 | LeetCode150. 逆波兰表达式求值 | LeetCode Problem 2: 单调栈 496. 下一个更大元素 I739. 每日温度503. 下一个更大元素 II 目录 Problem 1#xff1a;栈 - “先进后出”的应用LC 155. 最… 今日题目 Problem 1: 栈的应用 155. 最小栈 | LeetCode20. 有效的括号 | LeetCode150. 逆波兰表达式求值 | LeetCode Problem 2: 单调栈 496. 下一个更大元素 I739. 每日温度503. 下一个更大元素 II 目录 Problem 1栈 - “先进后出”的应用LC 155. 最小栈 【easy】LC 20. 有效的括号 【easy】LC 150. 逆波兰表达式求值 【easy】 Problem 2单调栈 【必会】✴️ 单调栈解决的基本问题找下一个更大元素 【classic】LC 496. 下一个更大元素 ILC 739. 每日温度LC 503. 下一个更大元素 II 【稍有难度】单调栈问题总结 今天主要学习了栈的一些应用和单调栈。 栈的基本应用已经学习过很多次了像括号匹配等问题比较熟悉了所以难度不大。单调栈比较重要它解决了“寻找每个元素的下一个更大元素”这个基本问题。我们要学会解决这个基本问题的代码思路并将其通过转化来解决具体问题。 所以单调栈是今天的重点要学会其解决“寻找下一个更大元素”这个基本问题的思路再学习如何将其用于解决具体问题。 Problem 1栈 - “先进后出”的应用 LC 155. 最小栈 【easy】 155. 最小栈 | LeetCode 这个题目做过多次了难度不大。 LC 20. 有效的括号 【easy】 20. 有效的括号 | LeetCode 括号匹配是使用栈解决的经典问题。通过这个题可以学会如何灵活运用 stack 来解决这个问题。 LC 150. 逆波兰表达式求值 【easy】 150. 逆波兰表达式求值 | LeetCode 也是一个栈的经典应用难度不大也可能是写过好几次了。 Problem 2单调栈 【必会】 单调栈用于解决找下一个更大元素的问题。这是 LeetCode 中一类经典问题。学会的话就不难没学的话一时也不太好想到思路。 首先需要学会使用单调栈的基本模板然后再学习如何利用它解决具体的问题。 ✴️ 单调栈解决的基本问题找下一个更大元素 【classic】 参考 单调栈结构解决三道算法题 | labuladong 首先明确单调栈所能解决的基本问题给一个数组 A找出其中每个元素的右边的下一个更大元素。比如 A [5, 1, 7]那么结果就是 answer [7, 7, -1]因为 5 和 1 的下一个更大元素都是 7而 7 没有下一个更大元素于是填充 -1 作为特殊值。当然answer 中的值也可以是 A 的下标索引这样就是 answer [2, 2, -1]因为 A[0] 和 A[1] 的下一个更大元素的索引都是 2所以 answer[0] 和 answer[1] 都是 2。 解决的思想是假设每个元素的值就是这个元素的身高让每个元素向后看比自己矮的都身高不够而第一个露出头来比自己高的那个元素就是答案比如下图 图片来自 labuladong 那寻找 answer 的方法从代码上实现思路就是声明一个 stack从后向前遍历 nums每次元素入栈前把栈顶上挤压掉身高小于等于自己的元素然后记录下栈顶也就是 nums[i] 身后更大的元素接着入栈继续下一轮循环直到遍历 nums 结束。代码如下 int[] findNextLarger(int[] nums) {int[] nextLarger new int[nums.length]; // 存放 answerListInteger stack new ArrayList(); // 单调栈// 从后向前遍历 numsfor (int i nums.length - 1; i 0; i--) {// 挤压掉身高小于等于自己的元素while (!stack.isEmpty() stack.getLast() nums[i]) {stack.removeLast();}// 记录栈顶元素作为 nums[i] 身后的更大元素nextLarger[i] stack.isEmpty()? -1: stack.getLast();// 入栈nextLarger.addLast(nums[i]);} return nextLarger; }这个问题中每个元素都被 push 一次最多被 pop 一次所以复杂度是 O ( n ) O(n) O(n)。 有了解决这个基本问题的代码模板我们就可以用这个单调栈的思路来解决一些具体的问题了。 LC 496. 下一个更大元素 I 496. 下一个更大元素 I | LeetCode 学会了上面的基本代码模板解决这个问题就会容易很多了。 这个题目的特殊之处在于我们需要找 nums2 的子集 nums1 在 nums2 中的下一个更大元素所以我们对 nums2 使用之前的方法来得到 nextLarger 数组然后需要再将其转换为 map记录着 元素 - 下一个更大元素 的映射然后 nums1 就可以使用这个 map 进行检索从而得到答案。 代码如下图 可以看出来解决这个问题的关键还是使用单调栈。 LC 739. 每日温度 739. 每日温度 | LeetCode 这也是对基本问题的一个变形我们再 nextLarger 中需要存的不是下一个更大的元素而是下一个更大元素的索引下标这样才能计算出索引下标的差值。学会基本问题之后难度也不大。 LC 503. 下一个更大元素 II 【稍有难度】 503. 下一个更大元素 II | LeetCode 这也是一个基本问题的变形基本问题中nums 是一个普通数组而这个题将 nums 定义为一种环形数组。 面对这种需求常用套路就是将数组长度翻倍 实现这种“翻倍”的效果的方式可以构造新数组、可以利用循环数组的技巧取模、可以两次循环等等都可以。 单调栈问题总结 我们学会了单调栈解决“下一个更大元素”这个基本问题的解题方法但在实际应用中题目往往会更加复杂一些这时我们需要把具体问题转化为单调栈相关问题来解决。
http://www.zqtcl.cn/news/82023/

相关文章:

  • 网站二级目录怎么做开发wordpress 需要学习
  • 产品网站建设公司哪家好网站建设路由器怎么设置
  • 网站营销设计免费域名申请 tk
  • 海北公司网站建设价格低通州区住房和城乡建设部网站
  • 微信设计网站wordpress的tag404页面
  • 石家庄新钥匙建站网站建设费用做什么科目
  • c语言网站开发太原网站推广服务
  • 如何对网站ftp进行上传泊头网站制作
  • 女生化妆品网站建设规划书建设网站查询
  • 网站免费域名申请成都百度seo推广
  • 做自己头像的网站网页qq登陆保护怎么关
  • 国际会议网站建设用帝国cms系统怎么做网站
  • 成品网站软件wordpress幻灯片的调用代码
  • 上海城建设计院网站商务网站建设ppt模板
  • 比较出名的wordpress网站网页设计规范图标设计
  • 台州网站制作系统ui动效网站
  • 深圳住房和城乡建设局网站网页制作工具按其制作方式
  • 包装袋设计网站推荐画册设计报价明细表
  • 手机网站建设套餐内容重庆公司企业网站建设
  • 网站建设水上乐园提供服务的网站
  • 深圳 网站建设设计什么样式表一般用于大型网站
  • 做网站推广挣多少钱一二三四在线观看免费中文吗
  • 网站域名注册要多少钱在线做mtv网站
  • 网站建设优化兼职浙江通管局 网站备案如何好注销
  • 阿里云做网站开发吗拓者设计吧卧室效果图
  • 商丘企业网站建设推荐导购网站自己做电商
  • pc网站页面室内装饰设计说明
  • 济南360做网站电话海安县住房和城乡建设局网站
  • 电脑做网站用什么软件北京高端网站建设价格
  • 天津专业网站建设公司有动效得网站