国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

WordPress插件后天怎么編寫(xiě)青島谷歌seo

WordPress插件后天怎么編寫(xiě),青島谷歌seo,政府門(mén)戶網(wǎng)站建設(shè)基本情況,免費(fèi)做視頻相冊(cè)的網(wǎng)站力扣日記:【棧與隊(duì)列篇】滑動(dòng)窗口最大值 日期:2023.10.30 參考:代碼隨想錄、力扣 239. 滑動(dòng)窗口最大值 題目描述 難度:困難 給你一個(gè)整數(shù)數(shù)組 nums,有一個(gè)大小為 k 的滑動(dòng)窗口從數(shù)組的最左側(cè)移動(dòng)到數(shù)組的最右側(cè)。你只…

力扣日記:【棧與隊(duì)列篇】滑動(dòng)窗口最大值

日期:2023.10.30
參考:代碼隨想錄、力扣

239. 滑動(dòng)窗口最大值

題目描述

難度:困難

給你一個(gè)整數(shù)數(shù)組 nums,有一個(gè)大小為 k 的滑動(dòng)窗口從數(shù)組的最左側(cè)移動(dòng)到數(shù)組的最右側(cè)。你只可以看到在滑動(dòng)窗口內(nèi)的 k 個(gè)數(shù)字?;瑒?dòng)窗口每次只向右移動(dòng)一位。

返回 滑動(dòng)窗口中的最大值 。

示例 1:

輸入:nums = [1,3,-1,-3,5,3,6,7], k = 3
輸出:[3,3,5,5,6,7]
解釋:
滑動(dòng)窗口的位置                最大值
---------------               -----
[1  3  -1] -3  5  3  6  7       31 [3  -1  -3] 5  3  6  7       31  3 [-1  -3  5] 3  6  7       51  3  -1 [-3  5  3] 6  7       51  3  -1  -3 [5  3  6] 7       61  3  -1  -3  5 [3  6  7]      7

示例 2:

輸入:nums = [1], k = 1
輸出:[1]

提示:

  • 1 <= nums.length <= 10^5
  • -10^4 <= nums[i] <= 10^4
  • 1 <= k <= nums.length

題解

class Solution {
#define SOLUTION 2
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {
#if SOLUTION == 1 // 暴力解法,超出時(shí)間限制// O(n * k), O(1)vector<int> result; for (int i = 0; i <= nums.size() - k; i++) {int q_max = nums[i];for (int j = i + 1; j < i + k; j++) {if (nums[j] > q_max) {q_max = nums[j];}}result.push_back(q_max);}return result;}
#elif SOLUTION == 2 // 單調(diào)隊(duì)列// O(n), O(k)// 單調(diào)隊(duì)列的特點(diǎn):隊(duì)列頭部為隊(duì)列中元素的最大值(或最小值),且成單調(diào)遞減(或遞增)// 當(dāng)push元素進(jìn)隊(duì)列時(shí),隊(duì)列中比所push元素小的需全部彈出(從尾部彈出)// 當(dāng)pop元素出隊(duì)列時(shí),只有隊(duì)列頭部為需pop元素時(shí)才需pop(否則該元素已經(jīng)在push時(shí)就被彈出了)/* //這種寫(xiě)法當(dāng)k=n時(shí)會(huì)有問(wèn)題....MyQueue mQ;vector<int> result;for (int i = 0; i < nums.size(); i++) {while (i < k) { // 注意++不能放在while()條件中,否則每次判斷一次都會(huì)+1mQ.push(nums[i]);i++;}result.push_back(mQ.getMaxValue());// 先push先pop都可以mQ.push(nums[i]);mQ.pop(nums[i - k]); // pop也需要輸入值}result.push_back(mQ.getMaxValue()); // 記得最后一個(gè)窗口return result;*/MyQueue que;vector<int> result;for (int i = 0; i < k; i++) { // 先將前k的元素放進(jìn)隊(duì)列que.push(nums[i]);}result.push_back(que.getMaxValue()); // result 記錄前k的元素的最大值for (int i = k; i < nums.size(); i++) {que.pop(nums[i - k]); // 滑動(dòng)窗口移除最前面元素que.push(nums[i]); // 滑動(dòng)窗口前加入最后面的元素result.push_back(que.getMaxValue()); // 記錄對(duì)應(yīng)的最大值}return result;}
private:class MyQueue { // 單調(diào)隊(duì)列(從大到小)public:deque<int> que; // 使用deque,兩邊都可pop// 每次彈出的時(shí)候,比較當(dāng)前要彈出的數(shù)值是否等于隊(duì)列出口元素的數(shù)值,如果相等則彈出。// 同時(shí)pop之前判斷隊(duì)列當(dāng)前是否為空。void pop(int value) {if (!que.empty() && que.front() == value) {que.pop_front();}}// 如果push的數(shù)值大于入口元素的數(shù)值,那么就將隊(duì)列后端的數(shù)值彈出,直到push的數(shù)值小于等于隊(duì)列入口元素的數(shù)值為止// 這樣就保持了隊(duì)列里的數(shù)值是單調(diào)從大到小的了void push(int value) {while (!que.empty() && que.back() < value) {que.pop_back();}que.push_back(value); }int getMaxValue() {return que.front();}};
#endif
};

復(fù)雜度

見(jiàn)代碼

思路總結(jié)

  • 單調(diào)隊(duì)列的特點(diǎn):
    • 隊(duì)列頭部為隊(duì)列中元素的最大值(或最小值),且成單調(diào)遞減(或遞增)
    • 當(dāng)push元素進(jìn)隊(duì)列時(shí),隊(duì)列中比所push元素小的需全部彈出(從尾部彈出)
    • 當(dāng)pop元素出隊(duì)列時(shí),只有隊(duì)列頭部為需pop元素時(shí)才需pop(否則該元素已經(jīng)在push時(shí)就被彈出了)
  • 實(shí)現(xiàn)單調(diào)隊(duì)列后,對(duì)數(shù)組進(jìn)行遍歷時(shí),先將前k個(gè)元素push進(jìn)隊(duì)列;獲取一次最大值后;再?gòu)牡趉個(gè)元素起逐個(gè)遍歷數(shù)組,每遍歷一個(gè)元素獲取一次最大值。
http://aloenet.com.cn/news/43672.html

相關(guān)文章:

  • 大型電子商務(wù)網(wǎng)站建設(shè)郴州網(wǎng)站定制
  • 番禺人才網(wǎng)官網(wǎng)單位招考關(guān)鍵詞優(yōu)化公司推薦
  • 網(wǎng)站頁(yè)面設(shè)計(jì)需求網(wǎng)絡(luò)推廣官網(wǎng)首頁(yè)
  • 網(wǎng)頁(yè)與網(wǎng)站的關(guān)系互聯(lián)網(wǎng)廣告代理可靠嗎
  • 做網(wǎng)站江門(mén)天津百度seo排名優(yōu)化
  • wordpress5.2.2下載seo有哪些經(jīng)典的案例
  • 鎮(zhèn)江百度競(jìng)價(jià)南昌seo管理
  • 門(mén)戶網(wǎng)站開(kāi)發(fā)要多久深圳seo優(yōu)化推廣公司
  • 如何做新聞源網(wǎng)站如何讓新網(wǎng)站被收錄
  • 網(wǎng)站建設(shè)的方法學(xué)生網(wǎng)頁(yè)制作成品
  • 專業(yè)網(wǎng)站建設(shè)服務(wù)公司哪家好廣州今日頭條新聞最新
  • 云南新建設(shè)國(guó)際小學(xué)網(wǎng)站百度手機(jī)下載安裝
  • app展示網(wǎng)站網(wǎng)絡(luò)seo首頁(yè)
  • 響應(yīng)式網(wǎng)站設(shè)計(jì)稿百度知道下載
  • google網(wǎng)站建設(shè)騰訊新聞最新消息
  • 怎么做淘寶客網(wǎng)站優(yōu)化seo排名第一的企業(yè)
  • wordpress換身 變身品牌企業(yè)seo咨詢
  • 網(wǎng)站建設(shè)h5seo的關(guān)鍵詞無(wú)需
  • 做名片哪個(gè)網(wǎng)站可以找軟文營(yíng)銷模板
  • 山東省兩學(xué)一做網(wǎng)站百度競(jìng)價(jià)推廣流程
  • wordpress插件殘留怎么刪除網(wǎng)絡(luò)優(yōu)化包括
  • 廣州app網(wǎng)站建設(shè)長(zhǎng)沙網(wǎng)絡(luò)優(yōu)化產(chǎn)品
  • 網(wǎng)站建設(shè)及售后服務(wù)的說(shuō)明書(shū)網(wǎng)絡(luò)推廣哪個(gè)平臺(tái)好
  • 網(wǎng)站備案查詢系統(tǒng)php版網(wǎng)絡(luò)營(yíng)銷的現(xiàn)狀和發(fā)展趨勢(shì)
  • 織夢(mèng)網(wǎng)站如何做關(guān)鍵詞產(chǎn)品營(yíng)銷策略有哪些
  • 小蝌蚪緊急自動(dòng)跳轉(zhuǎn)中seo搜索引擎優(yōu)化技術(shù)
  • 企業(yè)網(wǎng)站設(shè)計(jì)中應(yīng)注意產(chǎn)品發(fā)布功能優(yōu)化互聯(lián)網(wǎng)營(yíng)銷師證書(shū)怎么考多少錢(qián)
  • 網(wǎng)站建設(shè)價(jià)格與哪些關(guān)鍵詞優(yōu)化排名查詢
  • 地圖如果插入網(wǎng)站網(wǎng)站平臺(tái)都有哪些
  • 西安購(gòu)物網(wǎng)站建設(shè)2022年新聞熱點(diǎn)事件