青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

FireEmissary

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  14 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks

Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position.

For example,
Given nums = [1,3,-1,-3,5,3,6,7], and k = 3.

Window position                  Max 
--------------- -----
[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7

Therefore, return the max sliding window as [3,3,5,5,6,7].

Note: 
You may assume k is always valid, 1 ≤ k ≤ input array's size.

Follow up:
Could you solve it in linear time?

Hint:

  1. How about using a data structure such as deque (double-ended queue)?
  2. The queue size need not be the same as the window’s size.
  3. Remove redundant elements and the queue should store only elements that need to be considered.


大意是用雙向隊列可以n的線性時間.網友的解法意思是前端移出了滑動窗口的元素要移除

然后新指向的元素和隊列尾部元素比較,尾部小的元素也要移除.這樣保持隊列總是在滑動窗口里從大到小排好.

個人覺得當k比較大而輸入元素基本隨機時不可能是n復雜度.而應該是(k/2)*n左右


所以我的解法干脆用兩個指針:最大值,第二大值來維護.實際運行還比雙端隊列快一點點.(92ms 擊敗90%)


vector<int> maxSlidingWindow(vector<int>& nums, int k) {
         
if(nums.size()<2)return nums;
        size_t n
=nums.size(), maxv=0,secondv=~0;
        vector
<int> out;
         
//secondv維持第二大的元素.如果maxv在窗口邊界,secondv就是魔術~0代表不存在第二小元素.
         for(size_t i=1;i<k;++i)
            {
                
if(nums[i]>nums[maxv]){
                    maxv
=i;
                    secondv
=~0;
                }
else  if(secondv==~0||nums[i]>nums[secondv]){
                    secondv
=i;
                }
            }
         
out.push_back(nums[maxv]);
         
for(size_t i=k;i<n;++i)
         {
             
if(maxv<=i-k)
                 {
                     
                     
if(secondv==~0){
                         maxv
=i;
                     }
else{
                        maxv
=secondv;
                        secondv
=secondv+1;
                        
//maxv移出滑動窗口時,如果secondv存在,顯然要更新它找出新的第二大元素.
                        for(size_t j=secondv+1;j<i;++j)
                            
if(nums[j]>nums[secondv])secondv=j;
                     }
                 }
             
if(nums[i]>nums[maxv]){
                 maxv
=i;
                  secondv
=~0;
             }
else  if(secondv==~0||nums[i]>nums[secondv]){
                    secondv
=i;
                }
                
out.push_back(nums[maxv]);
                
         }
        
return out;
    }



posted on 2016-07-24 14:54 FireEmissary 閱讀(1002) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产婷婷综合在线精品| 亚洲韩国日本中文字幕| 男人的天堂成人在线| 欧美日韩国产成人在线| 久久亚洲午夜电影| 国产精品福利在线观看网址| 亚洲丰满少妇videoshd| 欧美成人精品h版在线观看| 久久精品国产一区二区三区免费看| 你懂的视频一区二区| 久久精品视频免费| 国产精品swag| 99热在这里有精品免费| 亚洲国产一区二区三区高清| 欧美综合国产| 久久国产精品久久精品国产| 国产精品美女xx| 亚洲精品日产精品乱码不卡| 亚洲国产综合在线| 久久色在线播放| 老司机精品久久| 国内成+人亚洲| 欧美一级欧美一级在线播放| 日韩亚洲在线| 久久精品中文| 久久综合电影| 国产一区二区中文| 午夜欧美视频| 久久久精品tv| 激情欧美丁香| 久久久久成人精品免费播放动漫| 久久精品视频免费播放| 国产视频精品xxxx| 久久精品国产第一区二区三区| 久久爱www.| 国产视频欧美| 久久在线免费观看视频| 亚洲国产精品成人综合色在线婷婷| 国产精品少妇自拍| 亚洲欧美日韩爽爽影院| 久久一区亚洲| 亚洲福利专区| 欧美精品久久99| aa级大片欧美三级| 亚洲欧美三级伦理| 国产情人节一区| 久久久7777| 欧美电影电视剧在线观看| 亚洲日本va午夜在线电影| 欧美精品免费播放| 亚洲一区精品电影| 美国十次了思思久久精品导航| 亚洲福利专区| 你懂的成人av| 欧美电影在线观看| 国产精品99久久久久久www| 欧美午夜精品| 久久久999国产| 亚洲精品韩国| 久久琪琪电影院| 亚洲七七久久综合桃花剧情介绍| 欧美高清不卡| 在线视频你懂得一区二区三区| 久久三级视频| 日韩一区二区免费高清| 国产欧美精品在线播放| 免费看亚洲片| 一本色道久久综合亚洲精品不| 久久久av毛片精品| 一本一本大道香蕉久在线精品| 国产一区二区三区电影在线观看| 欧美激情精品久久久久久| 在线视频精品一| 亚洲高清毛片| 久久国产成人| 亚洲午夜精品久久久久久浪潮 | 久久精品夜色噜噜亚洲a∨| 欧美高清在线观看| 欧美在线不卡视频| 99在线|亚洲一区二区| 国产噜噜噜噜噜久久久久久久久| 午夜精品免费视频| 亚洲人成高清| 免费看的黄色欧美网站| 亚洲自拍偷拍色片视频| 影音先锋日韩有码| 国产精品日韩在线播放| 久久久久久久尹人综合网亚洲| 在线午夜精品自拍| 亚洲激情视频在线播放| 久久综合久色欧美综合狠狠 | 亚洲电影中文字幕| 久久久久久久精| 亚洲影院免费观看| 99re8这里有精品热视频免费 | 在线视频日韩精品| 亚洲经典一区| 欧美激情一区二区三区蜜桃视频| 性伦欧美刺激片在线观看| 亚洲第一狼人社区| 国产亚洲一区二区在线观看| 欧美日韩一区二区三区高清| 亚洲日本成人女熟在线观看| 亚洲最黄网站| 久久综合伊人77777蜜臀| 欧美一级欧美一级在线播放| 亚洲一区三区在线观看| 制服丝袜亚洲播放| 一本色道88久久加勒比精品 | 亚洲国产婷婷综合在线精品 | 篠田优中文在线播放第一区| 亚洲午夜视频在线观看| 中文日韩在线| 亚洲影院在线观看| 亚洲欧美成人一区二区三区| 亚洲尤物精选| 欧美一级大片在线观看| 香蕉成人久久| 欧美一区二区三区免费视频| 先锋影音久久| 久久亚洲精选| 亚洲国产精品久久久久久女王| 亚洲国产高清在线| 亚洲三级性片| 亚洲午夜久久久久久尤物| 亚洲综合视频1区| 久久大逼视频| 美女主播精品视频一二三四| 欧美日本韩国一区| 国产精品欧美风情| 国内久久精品视频| 亚洲人成网站777色婷婷| 99re这里只有精品6| 亚洲一区国产精品| 欧美在线免费观看| 欧美mv日韩mv国产网站app| 欧美成人黄色小视频| 欧美激情视频免费观看| 99在线观看免费视频精品观看| 中文在线不卡| 久久久久网址| 欧美aa在线视频| 欧美精品情趣视频| 国产日韩视频| 亚洲人体影院| 久久精品亚洲| 亚洲国产精品一区二区尤物区| 亚洲精品久久久久| 亚洲国产精品视频| 在线亚洲一区| 久久综合亚洲社区| 欧美日韩视频一区二区| 国产手机视频精品| 亚洲麻豆国产自偷在线| 西西裸体人体做爰大胆久久久| 欧美成人精品一区二区| 中文欧美日韩| 欧美高清视频一区二区| 欧美四级在线观看| 亚洲成色777777在线观看影院| 亚洲视频播放| 亚洲电影免费在线观看| 亚洲欧美日韩国产综合在线| 欧美激情综合色| 狠狠色综合色综合网络| 日韩小视频在线观看| 久久深夜福利免费观看| 在线视频欧美精品| 欧美激情片在线观看| 狠狠入ady亚洲精品| 亚洲欧美日韩中文播放| 91久久精品网| 久久人人97超碰国产公开结果| 国产精品成人一区| aa国产精品| 亚洲国产精品成人综合| 久久久精品免费视频| 国产麻豆9l精品三级站| 日韩视频中文| 欧美国产丝袜视频| 亚洲欧美日韩在线综合| 欧美视频一区二区三区…| 韩国成人福利片在线播放| 中文国产成人精品| 亚洲国产99精品国自产| 久久综合伊人77777蜜臀| 国产一区二区欧美日韩| 久久激情婷婷| 午夜精品国产更新| 国产伦精品一区二区三区免费迷 | 久久一区国产| 狠久久av成人天堂| 性欧美xxxx视频在线观看| 欧美国产91| 欧美成人午夜77777| 91久久精品一区二区别| 欧美国产一区二区三区激情无套| 久久国产精品久久国产精品| 韩国v欧美v日本v亚洲v| 久久综合伊人77777麻豆|