2017-03-27 65 views
0

我是計算機科學新手,正在brilliant.org上解答一個問題。 假設一個輸入字符串「ABCDEFG」的函數。 (A是在第一位置,B爲在第二位置,等。)交換奇字符串的算法

步驟1.設置循環= 0

步驟2.加入1〜環

步驟3.交換在位置環路信在位置環路信+ 2

步驟4.如果環路< 4然後轉到步驟2

步驟5.結束。

步驟5中的字符串是什麼?

我有一個交換問題,因爲奇數字符串。任何人都可以向我解釋最後一封信的循環背後的邏輯嗎?

回答

0

假設職位從0開始。

ABCDEFG 

1. loop = 0 
2. loop = 1 
3. swap B and D => ADCBEFG 
4. loop < 4 => true, go to step 2 

2. loop = 2 
3. swap C and E => ADEBCFG 
4. loop < 4 => true, got to step 2 

2. loop = 3 
3. swap B and F => ADEFCBG 
4. loop < 4 => true, got to step 2 

2. loop = 4 
3. swap C and G => ADEFGBC 
4. loop < 4 => false, go to 5 
5. end 
+0

瞭解!我的錯誤是我在每個循環中交換了所有字母。例如:每次第一次與第三次,第二次與第四次等。我應該考慮換一個循環的兩個字母。謝謝你,答案是CDEFABG。通過在第一個循環中交換A和C並進一步繼續。 – Laxman

+0

不客氣:) –