給定乙個01串(僅由『 0』或『1』組成的字串),現在想把這個數字串排序成「非遞減」有序序列,請問至少需要多少次交換(任意兩個位置交換)?
輸入描述:
輸入資料第一行是乙個正整數t(t<=100),表示有t組測試資料;
接下來的t行,每行給出01串。
資料保證——
50%的字串長度在[1,100 ]
95%的字串長度在[1,10000]
100%的字串長度在[1,1000000]
輸出描述:
對於每組測試資料,請輸出排成「非遞減有序序列」的最小交換次數。
每組輸出佔一行。
輸入例子:
3 01
10 110
輸出例子:
0 1
1使用快速排序的思想,使用兩個指標i和j,i從左往右掃瞄,j從右往左掃瞄。左邊遇到1,右邊遇到0的時候就要進行一次交換。
#include
#include
using
namespace
std;
int func(string str)
}return cnt;
}int main()
return
0;}
網易程式設計題 交錯01串
交錯01串 時間限制 1秒 空間限制 32768k 如果乙個 01串任意兩個相鄰位置的字元都是不一樣的 我們就叫這個 01串為交錯 01串。例如 1 10101 0101010 都是交錯 01串。小易現在有乙個01串 s,小易想找出乙個最長的連續子串 並且這個子串是乙個交錯 01串。小易需要你幫幫忙...
程式設計題09 交錯01串(網易)
如果乙個01串任意兩個相鄰位置的字元都是不一樣的,我們就叫這個01串為交錯01串。例如 1 10101 0101010 都是交錯01串。小易現在有乙個01串s,小易想找出乙個最長的連續子串,並且這個子串是乙個交錯01串。小易需要你幫幫忙求出最長的這樣的子串的長度是多少。輸入包括字串s,s的長度len...
網易2018校招程式設計題 交錯01串 C
程式設計題 交錯01串 時間限制 1秒 空間限制 32768k 如果乙個01串任意兩個相鄰位置的字元都是不一樣的,我們就叫這個01串為交錯01串。例如 1 10101 0101010 都是交錯01串。小易現在有乙個01串s,小易想找出乙個最長的連續子串,並且這個子串是乙個交錯01串。小易需要你幫幫忙...