這兩天小編逛論壇的時候發(fā)現(xiàn)一個很有意思的事情异雁,就是一位互聯(lián)網(wǎng)公司的面試官分享的捶障,他們最近想招一批java的實習(xí)生,所以他們的面試題并不難纲刀,但是前來面試的人项炼,卻很多都掛在了幾道算法題上,要么就是邏輯不嚴(yán)謹(jǐn)示绊,要么就是題目都看不懂的锭部,還有就是書寫錯誤的,這讓他感到很詫異面褐,畢竟算法其實對于程序員來講應(yīng)該是很基礎(chǔ)的卻必須掌握的能力拌禾,只能說現(xiàn)在的java學(xué)習(xí)者對于基礎(chǔ)的學(xué)習(xí)并不是很嚴(yán)謹(jǐn),在這里我也把這幾道算法題分享出來展哭,給大家看一下湃窍!
java算法題一
題目:有1、2摄杂、3坝咐、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)析恢?都是多少墨坚?
程序分析:可填在百位、十位映挂、個位的數(shù)字都是1泽篮、2、3柑船、4帽撑。組成所有的排列后再去掉不滿足條件的排列。
java算法題二
java算法題三
題目:一個整數(shù)鞍时,它加上100后是一個完全平方數(shù)亏拉,加上168又是一個完全平方數(shù),請問該數(shù)是多少逆巍?
1.程序分析:在10萬以內(nèi)判斷及塘,先將該數(shù)加上100后再開方,再將該數(shù)加上168后再開方锐极,如果開方后的結(jié)果滿足如下條件笙僚,即是結(jié)果。請看具體分析:
這篇文章分享之前我還是要推薦下我自己的JAVA群:616959444 灵再,不管你是小白還是大牛肋层,小編我都挺歡迎亿笤,不定期分享干貨,包括我自己整理的一份2017最新JAVA資料和零基礎(chǔ)入門教程栋猖,歡迎初學(xué)和進(jìn)階中的小伙伴
java算法題四
題目:輸入某年某月某日净薛,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例掂铐,應(yīng)該先把前兩個月的加起來罕拂,然后再加上5天即本月的第幾天,特殊情況全陨,閏年且輸入月份大于3時需考慮多加一天爆班。
java算法題五
題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出辱姨。
程序分析:我們想辦法把最小的數(shù)放到x上柿菩,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換雨涛,然后再用x與z進(jìn)行比較枢舶,如果x>z則將x與z的值進(jìn)行交換,這樣能使x最小替久。