複試練習 回文的代價

2021-10-05 17:03:07 字數 620 閱讀 4570

回文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為回文串才是完美的。現在給你乙個串,它不一定是回文的,請你計算最少的交換次數使得該串變成乙個完美的回文串。

交換的定義是:交換兩個相鄰的字元

例如mamad

第一次交換 ad : mamda

第二次交換 md : madma

第三次交換 ma : madam (回文!完美!)

思路:先判斷是否能成為回文串,然後從頭開始,從後找與之相同的字元,將其移動到末尾,然後末尾向前移動最終到達中心點

#include

#include

#include

#include

char a[

8001];

intmain()

flag=1;

step+

=n/2

-i;}

else

if(a[i]

==a[j]

) jw--

;break;}

}}printf

("%d\n"

,step)

;return0;

}

天理工複試練習

issue 韓信閱兵時,讓一隊士兵 5 人一行排隊從他面前走過,他記下最後一行士兵的人數 1 人 再讓這隊士兵 6 人一行排隊從他面前走過,他記下最後一行士兵的人數 5 人 再讓這隊士兵 7 人一行排隊從他面前走過,他記下最後一行士兵的人數 4 人 再讓這隊士兵 11 人一行排隊從他面前走過,他記下...

東華複試練習8 初級算術

8 初級算術 問題描述 小學一年級學生正在學習多位數加法,從右到左每次一位數字。在運算過程中,進製對學生來講是個難點。你的工作是統計每組加法運算的進製次數,老師根據你的統計結果就可以評估這些題目的難度。輸入說明 每行輸入有兩個正整數。參加運算的數和運算結果保證在32位整數範圍內。輸出說明 對每行輸入...

C語言上機練習及答案(北航複試練習)(二)

第二次作業 數字排序 1.問題描述 編寫乙個程式,將輸入的三個數從小到大排列出來。include void main else if f1 f3 else if f2 f3 printf 按照從小到大的順序輸出 g,g,g n f1,f2,f3 2.問題描述 編寫乙個程式,使用者輸入若干整數,試找出...