我想请所有我的编程伙伴只谈“效率” 。我目前正在解决在面试中可以问到的问题,我遇到了一个著名的string 的变相。下面我所写的代码可能是编程史上最常用的代码,但是,我不知道它是什么状态,因为我还没有检查任何解决方案。
长长的故事是,下面我所编的短程序会是一个合适的解决方案吗?或者它能更有效率。问是因为如果有一天我出现,我想确定我是否实施了解决这一问题的最佳方法之一。
#include <iostream>
using namespace std;
int fac(int num)
{
int result=1;
for(int i=1;i<=num;i++)
result*=i;
return result;
}
int main(int argc, const char * argv[])
{
string str="abcd";
int limit=fac(str.size());
int mod=str.size();
for(int i=0;i<limit;i++){
swap(str[i%mod],str[(i+1)%mod]);
cout<<str<<endl;
}
return 0;
}