出去面試筆試部分少不了有一道陣列題,常見有讓你程式設計找出陣列的最大值,陣列排序,二分查詢等,這些都是面試高頻的乙個部分,掌握了這個能給我們面試多增加乙個勝算。
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 思路 相鄰的兩個元素比較,如果符合條件換位。排序...