前言:算法是計算機中非常重要的一部分驻右,也是比較難的一部分闪唆,同樣一個算法題會有很多不同的解法,有的解法很冗余柜与,有的解法很簡潔同時效率也很高巧勤,當然有些算法也是非常難理解的,不管一個多難的東西弄匕,只要肯花時間和勤練習(xí)都是一定可以掌握的颅悉,即使我們沒有很高的天賦,但是通過努力也一定可以站在巨人的肩膀之上迁匠。
0剩瓶、java的運行機制
java的運行機制
java程序“一次編譯驹溃,到處運行”,是指它的.class文件可以到處運行
1延曙、雞兔同籠問題
雞兔同籠
這是一道非惩愫祝基礎(chǔ)的算法題,但是需要注意的是break的使用搂鲫,當ji的數(shù)量到達23的時候傍药,我們就已經(jīng)得出我們需要的結(jié)果了,但是此時for循環(huán)并沒有停止魂仍,這就造成了不必要的資源浪費拐辽,拿出這道簡單的算法題就想提醒一下大家,優(yōu)化就是這樣需要我們從平時的學(xué)習(xí)和開發(fā)中慢慢的一點一滴的去積累擦酌。
2俱诸、遞歸解決倒序輸出問題
(遞歸是程序設(shè)計的精髓,掌握了他可以將一個大問題分解成小問題赊舶,繼而求解睁搭。所以遞歸算法非常重要。)
題目:倒序輸出詩句“床前明月光笼平,凝視地上霜”
mian方法
for循環(huán)解決
遞歸解決一
遞歸解決二
從這三種解法可以看出雖然效果相同园骆,但是第三種解法明顯簡潔很多,有一種裝筆的感覺寓调,哈哈锌唾,總結(jié)一下遞歸:1、自己調(diào)用自己 2夺英、直到某一條件結(jié)束(遞歸出口)晌涕。遞歸在算法中算比較難的部分了,也是java面試基礎(chǔ)中痛悯,容易遇到的算法題余黎,所以特別拿出來總結(jié)一下。下面提供了自己搜集的一些算法題及答案载萌,上傳在七牛云惧财。
材料補充
50道java算法題目:http://t.cn/RHv1Uyf
50道java算法題目及答案:http://t.cn/RHv1VT2