2017-03-27 25 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

不客气:) –