首页 > 其他分享 >day40

day40

时间:2024-10-13 14:22:00浏览次数:1  
标签:nums top st vector temperatures day40 size

每日温度

class Solution {
public:
vector dailyTemperatures(vector& temperatures) {
stack st;
vector answer(temperatures.size(), 0);
st.push(0);
for(int i = 1; i < temperatures.size(); ++i)
{
if(temperatures[i] <= temperatures[st.top()])
{
st.push(i);
}
else
{
while(!st.empty() && temperatures[i] > temperatures[st.top()])
{
answer[st.top()] = i - st.top();
st.pop();
}
st.push(i);
}
}
return answer;
}
};

下一个更大元素I
class Solution {
public:
vector dailyTemperatures(vector& temperatures) {
stack st;
vector answer(temperatures.size(), 0);
st.push(0);
for(int i = 1; i < temperatures.size(); ++i)
{
if(temperatures[i] <= temperatures[st.top()])
{
st.push(i);
}
else
{
while(!st.empty() && temperatures[i] > temperatures[st.top()])
{
answer[st.top()] = i - st.top();
st.pop();
}
st.push(i);
}
}
return answer;
}
};
下一个更大元素II
class Solution {
public:
vector nextGreaterElements(vector& nums) {
stack st;

    vector<int> ret(nums.size(), -1);
    if (nums.size() == 0) return ret;
    st.push(0);
    for(int i = 1; i < 2 * nums.size(); ++i)
    {
        int j = i % nums.size();
        if(nums[j] <= nums[st.top()])
        {
            st.push(j);
        }
        else
        {
            while(!st.empty() && nums[j] > nums[st.top()])
            {
                ret[st.top()] = nums[j];
                st.pop();
            }
            st.push(j);
        }
    }
    return ret;
}

};

标签:nums,top,st,vector,temperatures,day40,size
From: https://www.cnblogs.com/pwangikun/p/18462268

相关文章

  • 代码随想录 day40 打家劫舍 及其变体
    打家劫舍打家劫舍解题思路动态规划解决问题,通过前两个值决定第三个值,需要注意的是初始值的选择,第二个的值是取前两个数中较大的,这样是为了保证跳过不需要取的值知识点动态规划心得初始值的选择没有考虑到,其余的都写出来了打家劫舍二打家劫舍二解题思路前一题的改进,只......
  • 《python编程从入门到实践》day40
    #昨日知识点回顾    编辑条目及创建用户账户    暂没能解决bug:Theviewlearning_logs.views.edit_entrydidn'treturnanHttpResponseobject.ItreturnedNoneinstead.#今日知识点学习    19.2.5注销        提供让用......
  • Day40:安全开发-JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR
    目录SpringBoot-身份鉴权-JWT技术SpringBoot-打包部署-JAR&WAR思维导图Java知识点功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待......
  • day40 动态规划part3 代码随想录算法训练营 343. 整数拆分
    题目:343.整数拆分我的感悟:题目很难,但我动力十足!!理解难点:如何拆分为什么要保留dp[i]听课笔记:代码示例:classSolution:defintegerBreak(self,n:int)->int:#思路:#dp[i]是到目前为止能拆分取的最大值#dp[i]可以拆成j*(集合)......
  • day40 如何运维管理超1k+node节点 - 站在面试官角度谈面试 (13-14)
    13、如何运维管理超1k+node节点(四节)一、数据背景100,000+Pods1300+Nodes3集群(单:11Master+17ETCD)ToC服务行业二、瓶颈问题Apiserver调度,延迟问题;Controller不能及时从APIServer感知到最新的变化,处理的延时较高;Scheduler延迟高、吞吐低,无法适应业务日常需求;ET......
  • Day40 数组的使用
    数组的使用1.普通的for循环packagecom.baixiaofan.array;publicclassArrayDemo03{publicstaticvoidmain(String[]args){int[]arrays={1,2,3,4,5};//打印全部数组元素for(inti=0;i<arrays.length;i++){Sys......
  • [代码随想录]Day40-动态规划part08
    题目:139.单词拆分思路:单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。拆分时可以重复使用字典中的单词,说明就是一个完全背包!动规五部曲分析如下:确定dp数组以及下标的含义:dp[i]:字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字......
  • 算法练习-day40
    动态规划309.买卖股票的最佳时机含冷冻期题意:给定一个整数数组prices,其中第  prices[i] 表示第 i 天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。注......
  • 【安全学习之路】Day40
    ......
  • vue--day40--plugins插件
    1.main.js/***该文件是整个项目的入口文件*///引入VueimportVuefrom'vue'//引入App组件他是所有组件的父组件importAppfrom'./App.vue'//引入插件importpluginsfrom'./plugins'//关闭vue的生产提示Vue.config.productionTip=false//应用插件Vue.us......