日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode739. 每日温度

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode739. 每日温度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:題目

二:上碼

// class Solution { // public: // vector<int> dailyTemperatures(vector<int>& temperatures) { // vector<int> ans(temperatures.size(),0);// for (int i = 0; i < temperatures.size(); i++) {// int count = 1; // int flag = 0;// for (int j = i+1; j <temperatures.size(); j++) {// if (temperatures[j] > temperatures[i]) { // flag = 1; // break; // } else { // count++; // } // } // if(flag == 1) ans[i] = count; // else ans[i] = 0; // } // return ans; // } // };class Solution { public:/**思路:1.本題用到單調棧,那么我們來分析一下單調棧;2.何時用到單調棧當我們要求左邊還是右邊第一個比其大或者小的元素的位置的時候3.怎么用?1>:棧當中存的元素存的是元素的下標2>:確定何種單調我們從棧頂到棧底的順序來確定單調性那么本題來說的話 我們是要求出右邊第一個比起大的元素位置 那么我們就需要是 單調遞增的 當出現元素比其棧頂元素的大的時候 我們就要彈出棧頂元素這時候我們就可以記錄了 右邊第一個比其大的元素了。 ans[st.top()] = i - st.top();//因為我們是要求的是右邊第一個比其大的元素距其相差幾個位置*/vector<int> dailyTemperatures(vector<int>& temperatures) {if(temperatures.size() == 0) return {0};stack<int> st;vector<int> ans(temperatures.size(),0);st.push(0);for (int i = 1; i < temperatures.size(); i++) {while (!st.empty() && temperatures[i] > temperatures[st.top()]) {//大于棧頂元素的話 //那么就需要彈出了ans[st.top()] = i - st.top();//這時就可以記錄我們比棧頂元素大的話 其是相差多少個st.pop();} st.push(i); }return ans;} };

總結

以上是生活随笔為你收集整理的leetcode739. 每日温度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。