面試精選6-求N的階乘
2022-09-24 21:50 作者:架構(gòu)風(fēng)清揚(yáng)-趣學(xué)旅程 | 我要投稿
這道算法題一般考查的遞歸的編程技能,那么我們回顧下遞歸程序的特點(diǎn):
1,什么是遞歸?
遞歸,就是方法內(nèi)部調(diào)用方法自身
遞歸的注意事項(xiàng):
找到規(guī)律,編寫遞歸公式
找到出口(邊界值),讓遞歸有結(jié)束邊界
注意:如果遞歸太多層,或者沒(méi)有正確結(jié)束遞歸,則會(huì)出現(xiàn)“棧內(nèi)存溢出Error”!
問(wèn)題:為什么會(huì)出現(xiàn)棧內(nèi)存溢出,而不是堆內(nèi)存溢出?
2,這道題該怎么寫?
規(guī)律:N!=(n-1)!*n;
出口:n==1或n==0 return 1;
最后,給大家留下一個(gè)思考題,采用遞歸的方式來(lái)實(shí)現(xiàn),性能相對(duì)較低,是否有更高效的實(shí)現(xiàn)方式?
標(biāo)簽: