java面試之陣列常見操作

2021-09-24 11:09:19 字數 1550 閱讀 3725

出去面試筆試部分少不了有一道陣列題,常見有讓你程式設計找出陣列的最大值,陣列排序,二分查詢等,這些都是面試高頻的乙個部分,掌握了這個能給我們面試多增加乙個勝算。

public

class

findmax

; system.out.

println

(findmax.

getmax

(arr));

}public

static

intgetmax

(int

arr)

}return max;

}return-1

;}}

/**

* 原始氣泡排序演算法

* n個數字要排序完成,總共進行n-1趟排序,

* 每i趟的排序次數為(n-i)次,所以可以用雙重迴圈語句,

* 外層控制迴圈多少趟,內層控制每一趟的迴圈次數

* 氣泡排序的優點:每進行一趟排序,就會少比較一次,因為每進行一趟排序都會找出乙個較大值。

* 如上例:第一趟比較之後,排在最後的乙個數一定是最大的乙個數,

* 第二趟排序的時候,只需要比較除了最後乙個數以外的其他的數

* 同樣也能找出乙個最大的數排在參與第二趟比較的數後面,

* 第三趟比較的時候,只需要比較除了最後兩個數以外的其他的數,以此類推……也就是說,

* 沒進行一趟比較,每一趟少比較一次,一定程度上減少了演算法的量。

** @param arr

*/public

static

void

bubblesort

(int

arr)}}

}

public

static

int[

]selectsort

(int

arr)}}

}return arr;

}

public

static

intgetpivotindex

(int

arr,

int start,

int end)

right--;}

while

(right >= left)

left++;}

arr[index]

= pivot;

return index;

}public

static

void

quicksort

(int

arr,

int start,

int end)

int pivot =

getpivotindex

(arr, start, end)

;quicksort

(arr, start, pivot -1)

;quicksort

(arr, pivot +

1, end)

;}

常見面試題之陣列

參考文獻 1.程式設計之美 2.劍指offer 3.王道程式設計師求職寶典 常見題如下 1.二維陣列中查詢某個數,該陣列滿足 左 右 遞增,上 下 遞增。利用二分查詢的思想 2.求旋轉陣列中的最小數字。3.利用迴圈優化斐波那契數列。4.調整陣列順序,使奇數字於偶數之前。5.求陣列中出現出現次數超過一...

JAVA面試面試常見問題

面試官問你乙個問題,你要說出關鍵點,不要說出一大堆然後又沒有重點,那樣的話其實沒有任何意義,關於這個點的問題,我就舉幾個例子 第乙個是 struts 的工作流 注 首先說為什麼我要突出這幾個點呢,因為別人問你struts的工作流,你不用非要說到 級別的,但是你起碼要告訴別人,你是知道核心過濾器,也是...

Java基礎之陣列的操作

陣列的遍歷一般採用for迴圈的方式對陣列依次輸出,在for迴圈的過程中可對輸出格式進行裝飾。首先我們定義乙個陣列 int arr 下面我們寫乙個方法printarr 用於遍歷陣列 public static void printarr int arr 思路 相鄰的兩個元素比較,如果符合條件換位。排序...