1. 程式人生 > >【乾貨】10道經典的java演算法之面試題

【乾貨】10道經典的java演算法之面試題

對於演算法題,大家都很熟悉,無論在企業中還是在面試的時候,演算法依然是考研我們的一個標準.

根據實際情況,大家可能會認為 公司裡幾乎用不到演算法。我覺得這種說法是片面的。我們在熟練寫一段程式碼的時候,如果對其進行用優雅的方式實現出來,這就是演算法。個人對演算法的理解:
演算法只是解決問題的一種方法,你需要解決什麼問題就用到什麼演算法,沒有種類之分。

1.題目(盛大無線面試題):在一個字串陣列中有紅、黃、藍三種顏色的球,且個數不相等、順序不一致,請為該陣列排序,使得排序後

  • 陣列中球的順序為:黃、紅、藍
  • 例如:紅藍藍黃紅黃藍紅紅黃紅 排序後為:黃黃黃紅紅紅紅紅藍藍藍

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

2.題目:取一個整數a從右端開始的4~7位。

程式分析:可以這樣考慮:

  • (1)先使a右移4位。
  • (2)設定一個低4位全為1,其餘全為0的數。可用(0 < <4)
  • (3)將上面二者進行&運算。
    在這裡插入圖片描述

3.題目:打印出楊輝三角形(要求打印出10行如下圖)

程式分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
在這裡插入圖片描述

4.題目:輸入3個數a,b,c,按大小順序輸出。

程式分析:利用指標方法。
在這裡插入圖片描述

5.題目:寫一個函式,求一個字串的長度,在main函式中輸入字串,並輸出其長度。

在這裡插入圖片描述

6.題目:字串排序。

在這裡插入圖片描述

7.題目:海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子憑據分為五份,多了一個,這隻猴子把多的一個扔入海中,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五隻猴子都是這樣做的,問海灘上原來最少有多少個桃子?

在這裡插入圖片描述
在這裡插入圖片描述

8.新浪面試題:編寫一個方法,計算一個字串中,第一個不重複的字元在當前字串中的索引。

分析 : 編寫一個方法,計算一個字串中,第一個不重複 的字元在當前字串中的索引。
在這裡插入圖片描述

9.題目:求一個3*3矩陣對角線元素之和

1.程式分析:利用雙重for迴圈控制輸入二維陣列,再將a[i][i]累加後輸出。
在這裡插入圖片描述

10.題目:打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。

在這裡插入圖片描述

歡迎大家加入粉絲群:963944895,群內免費分享Spring框架、Mybatis框架SpringBoot框架、SpringMVC框架、SpringCloud微服務、Dubbo框架、Redis快取、RabbitMq訊息、JVM調優、Tomcat容器、MySQL資料庫教學視訊及架構學習思維導圖