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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

单调栈结构

發布時間:2025/4/5 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单调栈结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:給定一個不含重復值的數組,找到每一個i位置左邊和右邊離i位置最近且值比arr[i]小的位置。返回所有位置相應信息

舉例:

arr = {3,4,1,5,6,2,7}

返回數組:{{-1,2},{0,2},{-1,-1},{2,5},{3,5},{2,-1},{5,-1}}

進階問題:給定一個可能含有重復值的數組arr,找到每一個i位置左邊和右邊離i位置最近且值比arr[i]小的位置。返回所有位置相應信息

要求:如果arr長度為N,實現原問題和進階問題的解法,時間復雜度都達到O(N)

思路:準備一個棧,標記為stack, 棧中放的元素是數組的位置,開始時stack為空。

如果找到每一個i位置左邊和右邊離i位置最近且值比arr[i]小的位置,那么需要讓stack從棧頂到棧底的位置所代表的值是嚴格遞減的;

如果找到每一個位置左邊和右邊離i位置最近且值比arr[i]大的位置,那么需要讓stack從棧頂到棧底的位置所代表的值是嚴格遞增的

def getNearNorepeat(L):res = [[0,0]]*len(L)stack = []for i in range(len(L)):while len(stack)!=0 and L[stack[-1]] > L[i]:popIndex = stack.pop()if len(stack) == 0:lessLeftIndex = -1else:lessLeftIndex = ires[popIndex][0] = lessLeftIndexres[popIndex][1] = istack.push(i)while len(stack)!=0:popIndex = stack.pop()if len(stack) == 0:lessLeftIndex = -1else:lessLeftIndex = stack[-1]res[popIndex][0] = lessLeftIndexres[popIndex][1] = -1return res def getNearLess(L):res = [[0,0]] * len(L)stack = []for i in range(len(L)):while len(stack)!=0 and L[stack[-1][0]] > L[i]:popIndex = stack.pop()if len(stack)==0:leftLessIndex = -1else:leftLessIndex = stack[-1][len(stack[-1])-1]for index in popIndex:res[index][0] = leftLessIndexres[index][1] = iif len(stack)!=0 and L[stack[-1][0]] == L[i]:stack[-1].append(i)else:list_ = []list_.append(i)stack.push(list_)while len(stack)!=0:popIndex = stack.pop()if len(stack) == 0:leftLessIndex = -1else:leftLessIndex = stack[-1][len(stack[-1])-1]for index in popIndex:res[index][0] = leftLessIndexres[index][1] = -1return res

整個過程中,進棧一次,出棧一次,所以整個流程時間復雜度為O(N)

總結

以上是生活随笔為你收集整理的单调栈结构的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 波多野吉衣在线视频 | 色综合av| 亚洲精品免费在线视频 | 日韩人妻无码一区二区三区99 | www.欧美 | 日韩av无码一区二区三区不卡 | 双性人做受视频 | 亚洲欧美国产一区二区三区 | 欧美成人精品 | 欧美30p | 国产哺乳奶水91在线播放 | 亚洲综合久久久 | 一级做a爰片久久毛片潮喷 天天透天天干 | 激情戏网站 | 亚洲色图 一区二区 | 国产精品久久久久久亚洲调教 | 日韩一区二区三区精品视频 | 亚洲乱码国产乱码精品精软件 | 国产精品久久久久久久久久久久久久久久久 | 男女扒开双腿猛进入爽爽免费 | 啪啪av | 国产探花一区二区 | 女生被草| 欧美春色 | 成人欧美视频在线观看 | 98色 | 熟女视频一区二区三区 | 亚洲AV成人无码久久精品巨臀 | 激情噜噜 | 欧美三级在线播放 | 无码人妻精品一区二区中文 | 草草影院地址 | 在线免费视频你懂的 | 国产另类专区 | 日韩一级影视 | www.日本在线视频 | 日韩av手机在线观看 | 毛片h| 超碰超碰 | 九草在线观看 | 青青色在线 | www.youjizz.com视频 | 亚州福利 | 韩国伦理大全 | 天天综合天天做天天综合 | 修女也疯狂3免费观看完整版 | 国产无套粉嫩白浆内谢 | 免费在线视频观看 | 99热这里只有精 | 亚洲色图在线视频 | www亚洲天堂| 欧美另类高清videos的特点 | 青青视频网| 在线看黄网址 | av的天堂| 亚洲网站在线免费观看 | 久久鲁鲁| 人人爽人人爽人人片av | 97香蕉久久超级碰碰高清版 | 特级西西人体444www高清大胆 | 激情影院内射美女 | 国产精品传媒在线观看 | 国产卡一卡二卡三无线乱码新区 | 嫩草午夜少妇在线影视 | 色婷婷国产精品综合在线观看 | 五月激情视频 | 亚洲黄色一级大片 | 久久乐av | 欧美区一区二 | 精品人妻一区二区三区久久嗨 | 大桥未久av在线播放 | 四虎影院成人 | 91精品国产成人 | 超碰国产在线 | 国产精品久久久久9999 | 蝌蚪网在线视频 | av先锋资源网 | 在线观看福利网站 | 国产综合av | 国产精品无码av在线有声小说 | 久久久亚洲av波多野结衣 | 欧美日韩一区二区不卡 | 一本色道久久综合亚洲二区三区 | 国产午夜毛片 | 奇米一区二区 | 日韩黄色在线 | a天堂在线资源 | 自拍欧美亚洲 | 噜噜噜亚洲色成人网站 | 99热这里只有精品5 国产精品伦子伦免费视频 精品一二三 | 想要视频在线观看 | 91啪国产在线 | 亚洲在线免费观看视频 | 尹人香蕉网 | 久久精品色妇熟妇丰满人妻 | aaaa毛片 | 欧美偷拍另类 | 久久精品5 | 献给魔王伊伏洛基亚吧动漫在线观看 |