Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)
※ 引述《asleepme (冬天了)》之銘言:
: for( i=0; i<=100; i++)
: s=s+i;
for ( i=100; --i ; )
s += i ;
首先是 i++ 後置要改前置
因為 C/C++ 裡面寫後置是會複製一個暫存物件的
阿這邊複製一下是需要成本的
當然這邊 compiler 有可能會幫你吸收掉
不過知道意思就好
然後 i<=100 改 i
這邊就是少作一個減法
當然這個還是看 cpu
不過知道意思就好
然後是 s = s+i 改成 s += i
就是省掉好幾個動作嘛
不過 compiler 當然還是有可能幫你吸收掉
不過知道意思就好
其實只有第一個原因比較隱晦吧
後面兩個都蠻明顯的,一般人也都會想到
不過第三個根本就是明顯到根本沒差了
因為 compiler 幾乎都會幫你作掉
總之各種改法都只對不夠好的 compiler 有用
compiler 夠好的話,這些差異其實都會被吸收掉..
我其實不是很懂這個面試官的重點是在哪邊 ._.a
--
To iterate is human, to recurse is divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.78.40
推
01/02 13:40, , 1F
01/02 13:40, 1F
推
01/02 21:13, , 2F
01/02 21:13, 2F
→
01/02 21:16, , 3F
01/02 21:16, 3F
→
01/02 22:08, , 4F
01/02 22:08, 4F
→
01/03 18:15, , 5F
01/03 18:15, 5F
推
01/04 17:53, , 6F
01/04 17:53, 6F
推
01/04 17:53, , 7F
01/04 17:53, 7F
推
01/04 17:54, , 8F
01/04 17:54, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 12 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章