首页 > 其他分享 >力扣-739-每日温度

力扣-739-每日温度

时间:2022-12-20 16:45:07浏览次数:57  
标签:int 每日 stk 力扣 vector temperatures ans 739 preIndex

返回一个数组,ans[i]表示相对于第i天的温度而言,下一个更高的温度出现在几天后
如果没有就是0

一开始接单粗暴地两层for循环遍历,不出意外地超时了
后来又想到可以排序后比对位置,但是数组中可能出现重复的元素,于是又被否决了

官方题解给出的是用“单调栈”

虽然不理解是怎么想到的以及为什么这样是正确的,但是先会用

vector<int> dailyTemperatures(vector<int>& temperatures) {
	int n = temperatures.size();
	vector<int> ans(n);
	stack<int> stk;

	for (int i = 0; i < n; i++) {
		while (!stk.empty() && temperatures[i] > temperatures[stk.top()]) {
			int preIndex = stk.top();
			ans[preIndex] = i - preIndex;
			stk.pop();
		}
		stk.push(i);
	}
	return ans;
}

为什么push一定要放在后面呢?

标签:int,每日,stk,力扣,vector,temperatures,ans,739,preIndex
From: https://www.cnblogs.com/yaocy/p/16982765.html

相关文章

  • 每日算法之最长不含重复字符的子字符串
    JZ48最长不含重复字符的子字符串描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1输入:"abcabcbb"返回值:3说明:因为无重复......
  • H5 WebSQL每日成语
    有一天看到同事发的类似这种成语填空一样的内容。================惟利()视为德()终质非文()()追耗子================烂漫天()()则改之,无则嘉勉得()之作......
  • 每日食词—day051
    rememberv.记住、记得、想起lambdan.λ希腊字母匿名函数、lambda函数、λ函数sensitiveadj. n.敏感、敏感性、灵敏的、灵敏度、灵敏度高的permissionn......
  • 力扣025 K组中的反向节点
    力扣025K组中的反向节点题目:给定链表的,一次反转列表的节点,并返回修改后的列表。head``kk`是一个正整数,小于或等于链表的长度。如果节点数不是节点的倍数,那么最终省略......
  • 每日食词—day050
    charactern. v.字符、符号、角色、性格screenshotsn.截图、截屏、画面、屏幕截图、界面截图notificationsn.通知、通告、正常但重要的信息、提示窗口instru......
  • 每日食词—day049
    upcomingadj.即将来临的、即将来到的、即将到来的compatibleadj. n.兼容的、兼容、相容、兼容模式lateradv. adj.后来、稍后、以后、往后attachmentn.附......
  • 每日食词—day048
    signaturen. adj.签名、署名、特征码、签字、签署、基调、签章appendersn.输出源、输出端、追加器、存放器timeoutn.超时、逾时、超时时间、逾时时间instan......
  • 每日算法之礼物的最大价值
    JZ47礼物的最大价值描述描述在一个m\timesnm×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右......
  • 每日食词—day047
    rerunn. v.重新运行、重新执行、再次运行noten. v.注解、注释、便条、笔记stereon. adj.立体音、立体shutdownn.关机、关闭、停止系统hazyadj.朦胧......
  • 每日食词—day046
    fakeadj. n. v.假货、伪造的、冒充的、虚假的tonen. v.音调、色调、语气unhashable不可哈希的recommendv.推荐、建议、劝告、介绍suchdet. pron. adv.......