牛客 奇怪的排序问题(单调栈/遍历)
生活随笔
收集整理的這篇文章主要介紹了
牛客 奇怪的排序问题(单调栈/遍历)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
鏈接:https://ac.nowcoder.com/acm/contest/10166/B
來源:牛客網
操場上有n個人排成一隊,這n個人身高互不相同,可將他們的身高視為一個1到n的排列。
這時需要把隊伍變成升序,也就是從矮到高排序。
每次可以選擇一個人,讓這個人和在他身后的人比高矮,如果比對方高,則交換位置并繼續下一次比較,直到比對方矮或者已經在隊尾。
現在給出數n和一個1到n的排列,求最少的選擇次數,使隊伍變為升序。
示例1 輸入 4,[4,1,2,3] 返回值 1備注: n<=10^6 數據包含一個整數n和一個含有n個元素的數組,表示從隊頭到隊尾的人的身高。 輸出一個整數表示答案。2. 解題
- 單調棧,當棧頂的身高 比 當前的大 ,需要移動一次
- 直接反向遍歷,當前身高比后面最小的大,就需要移動一次
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的牛客 奇怪的排序问题(单调栈/遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客 XOR和(找规律)
- 下一篇: LeetCode MySQL 1412.