小q最近遇到了乙個難題:把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。
你能幫幫小q嗎?
輸入描述:
輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.
輸出描述:
對於每組資料,輸出移位後的字串。
示例1輸入
aklebiceild
輸出kleieilabcd
思路:氣泡排序法,注意這裡不是看起來的大寫字母ab不能一起往後冒,真正理解了是從左到右每次都把乙個大寫字母冒到最後,第一次是d,第二次是c,第三次是b,最後一次是a。所以就用乙個正向的氣泡排序就能求解。
#include
using
namespace
std;
int main()}}
cout
0; }
聯想發散:回顧三種基本排序,插入排序,選擇排序和氣泡排序。
插入排序:首先把第乙個陣列元素當作有序數列,然後不斷新增新的元素,與其比較,插入到其後面,插入操作需要先把其他後面的元素右移一位。
選擇排序:每次選擇最大或者最小的放在第一位或者最後即可。
氣泡排序:相鄰元素之間比較,把較大或較小的往後冒。
騰訊2017暑期實習生程式設計題
刷題 pragma warning disable 4996 遮蔽警告 構造回文 題目描述 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。思路 其實就是,原字串翻轉之後的字串跟原字串的最長公共子串行 那麼利用動態規劃的最長公共...
騰訊2017暑期實習生程式設計題
構造回文串 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。示例1 輸入 a...
騰訊2017暑期實習生程式設計題
程式設計題 構造回文 時間限制 1秒 空間限制 32768k 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個...