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

题解 力扣 LeetCode 739 每日温度 C++

 题目传送门:

739. 每日温度 - 力扣(LeetCode)icon-default.png?t=O83Ahttps://leetcode.cn/problems/daily-temperatures/description/

思路:

就是单调栈的思路,具体见代码

不知道单调栈的,可以看我的这篇文章:

数据结构 单调栈-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qwq_ovo_pwp/article/details/143243268?spm=1001.2014.3001.5501代码:

class Solution
{
public:
    vector<int> dailyTemperatures(vector<int>& temperatures)
    {
        int top = -1, stk[100010] = { 0 };
        vector<int> ret(temperatures.size(), 0);//该思路要求一开始全初始化为0
        for (int i = temperatures.size() - 1; i >= 0; i--)//从末尾开始遍历思路和代码更简洁
        {
            //栈stk用于存放遍历过的元素的下标
            //每次将当前元素与栈顶元素比较,若栈顶元素小于当前元素,那么可以直接出栈,理由在单调栈实现里讲到了
            while (top > -1 && temperatures[stk[top]] <= temperatures[i]) top--;
            if (top > -1) ret[i] = stk[top] - i;
            //else不用写,因为此时ret[i]=0,一开始已经全初始化为0了
            stk[++top] = i;
        }
        return ret;
    }
};


http://www.kler.cn/news/365411.html

相关文章:

  • 使用AutoDL训练YOLO等计算机视觉网络模型(AutoDL+Xftp+VS Code),附详细操作步骤
  • 博弈论 C++
  • 处理Hutool的Http工具上传大文件报OOM
  • 设计模式---模版模式
  • 自动发现-实现运维管理自动化
  • UE5之5.4 第一人称示例代码阅读2 子弹发射逻辑
  • 海外云手机怎样助力亚马逊店铺运营?
  • 合约门合同全生命周期管理系统:从合同创建到归档的全流程管理解决方案
  • Spring MVC 原理与源码
  • 六个方向比较分析:ChatGPT-o1-preview与 ChatGPT-4o在论文写作辅助上的差异
  • 富格林:察觉欺诈有效追损措施
  • 解决运行jar错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
  • webRTC搭建:STUN 和 TURN 服务器 链接google的有点慢,是不是可以自己搭建
  • 当遇到 502 错误(Bad Gateway)怎么办
  • 【Python】实战:猜数游戏
  • 如何在 Ubuntu 18.04 上使用 Let‘s Encrypt 保护 Apache
  • 挖矿病毒的处理
  • 用STM32硬件思维学JAVA--23种设计模式
  • 分布式解决方案---分布式ID
  • 自动化测试工具Appium介绍
  • Java基础选择题
  • win10 opencv gpu c++版本编译教程
  • HarmonyOS 5.0应用开发——Navigation实现页面路由
  • 全方面熟悉Maven项目管理工具(一)认识Maven、Maven如何安装?
  • 使用Angular构建动态Web应用
  • 怎么看AI大模型(LLM)、智能体(Agent)、知识库、向量数据库、知识图谱,RAG,AGI 的不同形态?