騰訊2017暑期實習生程式設計題

2021-08-05 23:10:01 字數 1889 閱讀 9447

構造回文串

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?

輸出需要刪除的字元個數。

輸入描述:

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

輸出描述:

對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。

示例1 輸入

abcda

google

輸出

#include#include#include#includeusing namespace std;

void show(vector>&v)

}int main()

//cout << "j=" << j << endl;

//show(dp);

} cout << dp[0][n - 1] << endl;//

}}

演算法基礎-字元移位

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

你能幫幫小q嗎?

輸入描述:

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

輸出描述:

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

示例1輸入

aklebiceild

輸出kleieilabcd

#include#include#includeusing namespace std;

int main()

}i++;

} cout << str << endl;

}}

有趣的數字

小q今天在上廁所時想到了這個問題:有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?

輸入描述:

輸入包含多組測試資料。

對於每組測試資料:

n - 本組測試資料有n個數

a1,a2...an - 需要計算的資料

保證:1<=n<=100000,0<=ai<=int_max.

輸出描述:

對於每組資料,輸出兩個數,第乙個數表示差最小的對數,第二個數表示差最大的對數。

示例1輸入

645 12 45 32 5 6

輸出1 2

#include#includeusing namespace std;

#define n 100000

void show(int *a, int n)

int main()

{ int n;

int a[n];

int b[n];//記錄最小差值對數

while (cin >> n)

{ memset(b, 0, sizeof(b));

for (int i = 0; i < n; i++)cin >> a[i];

sort(a , a + n);//先排序

int i = 0, j = n - 1;

int maxs = 0, mins = 0;

//最大差值出現在最大值減去最小值

while (a[i] == a[0])i++;//最小值相同的數

while (a[j] == a[n-1])j--;//最大值相同的數

maxs = i*(n - 1 - j);

int mind = 0xffff;

for (int i = 0; i < n - 1; i++) mind = min(mind, abs(a[i + 1] - a[i]));//找出最小差值

i = 0;

while (i

騰訊2017暑期實習生程式設計題

刷題 pragma warning disable 4996 遮蔽警告 構造回文 題目描述 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。思路 其實就是,原字串翻轉之後的字串跟原字串的最長公共子串行 那麼利用動態規劃的最長公共...

騰訊2017暑期實習生程式設計題

程式設計題 構造回文 時間限制 1秒 空間限制 32768k 給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?輸出需要刪除的字元個數。輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個...

騰訊2017暑期實習生程式設計題

三個題 難度 第三題 第一題 第二題 第一題構造回文 輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。示例1abcda google2 2 第一題 includetypedef long long...