java 常见算法笔试题
时间: 2023-06-22 10:27:18 浏览: 75
好的,以下是一些常见的 Java 算法笔试题:
1. 冒泡排序算法的实现。
```
public static void bubbleSort(int[] array) {
int temp;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
```
2. 快速排序算法的实现。
```
public static void quickSort(int[] array, int left, int right) {
if (left < right) {
int i = left, j = right, pivot = array[left];
while (i < j) {
while (i < j && array[j] >= pivot) {
j--;
}
if (i < j) {
array[i] = array[j];
i++;
}
while (i < j && array[i] < pivot) {
i++;
}
if (i < j) {
array[j] = array[i];
j--;
}
}
array[i] = pivot;
quickSort(array, left, i - 1);
quickSort(array, i + 1, right);
}
}
```
3. 二分查找算法的实现。
```
public static int binarySearch(int[] array, int target) {
int left = 0, right = array.length - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (array[mid] == target) {
return mid;
} else if (array[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
4. 斐波那契数列算法的实现。
```
public static int fibonacci(int n) {
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
```
5. 求最大公约数算法的实现。
```
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
希望这些算法实现能够帮助你进行 Java 算法笔试。