演算法基礎 字元移位 邏輯

2021-07-26 08:46:31 字數 637 閱讀 8451

小q最近遇到了乙個難題:把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。

你能幫幫小q嗎?

輸入描述:

輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.

輸出描述:

對於每組資料,輸出移位後的字串。

輸入例子:

aklebiceild

輸出例子:

kleieilabcd

題意分析:在不申請多餘記憶體的情況下,達到把小寫字母放在前面,大寫字母放在後面,大(小)寫字母的相對位置不能發生變化。

難點就在於不能申請多餘的記憶體空間,在移位的時候,採用從後往前遍歷,找到大寫字母以後就向後移動,在此之前要先把後面的字母都統一向前移動,移動的數量取決於當前移動的字母數量以及後面的字母總數,具體的看**。

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

int main()

}cout << a << endl;

}return 0;

}

程式設計題 演算法基礎 字元移位

小q最近遇到了乙個難題 把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。你能幫幫小q嗎?輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出移位後的字串。輸入例子 aklebiceild 輸出例子 kle...

程式設計題 演算法基礎 字元移位

程式設計題 演算法基礎 字元移位 時間限制 1秒 空間限制 32768k 小q最近遇到了乙個難題 把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。你能幫幫小q嗎?輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組...

算術移位邏輯移位

unsigned int i 8 int main 請問 上面的變數i是採用邏輯移位還是算術移位呢?邏輯移位,簡單理解就是物理上按位進行的左右移動,兩頭用0進行補充,不關心數值的符號問題。算術移位,同樣也是物理上按位進行的左右移動,兩頭用0進行補充,但必須確保符號位不改變。邏輯移位是指邏輯左移和邏輯...