生成 01 單調不減序列(快排應用)

2021-07-15 23:36:51 字數 622 閱讀 1643

給定乙個01串(僅由『 0』或『1』組成的字串),現在想把這個數字串排序成「非遞減」有序序列,請問至少需要多少次交換(任意兩個位置交換)? 

輸入描述:

輸入資料第一行是乙個正整數t(t<=100),表示有t組測試資料;

接下來的t行,每行給出01串。

資料保證——

50%的字串長度在[1,100 ]

95%的字串長度在[1,10000]

100%的字串長度在[1,1000000]

輸出描述:

對於每組測試資料,請輸出排成「非遞減有序序列」的最小交換次數。

每組輸出佔一行。

輸入例子:

3

0110

110

輸出例子:

0

11

這道題的核心就是快速排序。

#include #include #include using namespace::std ;

int main()

}cout << count << endl ;

}return 0 ;

}

劍指每日一題 合併遞增鍊錶為單調不減鍊錶

最近在練習程式設計題目,每天寫一道以上劍指程式設計題。加油,堅持就是勝利!這是劍指上的乙個鍊錶題目。輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。這道題有兩種思路,一種是遞迴方式解決,這個方式的 較為簡單,但是時間複雜度會比較高,另一種是非遞迴方式解決。...

最大01子矩陣問題(單調棧優化)

顧名思義,給定n m大小的01矩陣,要求找到1數量最多的全1子矩陣 85.maximal rectangle 思考二維問題前,先將問題降階,思考該問題在一維狀況下的解決方式會是乙個比較好的思路。485.max consecutive ones 在01陣列中尋找最長連續1的長度 簡單的dp,維護陣列中...

生成不重複的0 1序列排列組合

在用隱列舉法解0 1型整數線性規劃時,需要生成對應於自變數個數的不重複的0 1序列的排列組合。下面是用乙個兩層迴圈實現生成0 1型整數線性規劃問題解空間的 def generatesequence n x 0 for i in range n xtran m 0while len x 2 n for...