re: 一些筆試題(包括金山西山居筆試) 夢想飛揚 2008-12-29 14:01
博主提供的算法1時間復雜度太高,算法2空間復雜度太高。
我寫了一個簡單的累計'A'值并覆蓋的算法,時間和空間復雜度都很低。
Deal3(char *str)
{
int len = strlen(str);
if (str[len-1] != '0')
return; //如果最后一個字符不為'0'
int k = 0;
for (int i=0; i<len; i++)
{
if (str[i] == 'A') //累計'A'的個數
k++;
else //覆蓋'A'
str[i-k] = str[i];
}
for (int i=0; i<k; i++)
str[len-1-i] = 'A';
}
可不可以把源碼傳給我看一下,謝謝!
我的郵箱:goal00001111@gmail.com
re: 愛因斯坦的思考題 夢想飛揚 2006-12-08 22:45
呵呵,我開始確實大意了
但如果第一次碰到合適的答案就輸出的話,也可以找到一個答案的.
為了不誤人子弟,代碼我已經改過來了.