- 博客(5)
- 收藏
- 关注
原创 二分搜索算法
private static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left <= right) { int mid = left + (right - left) / 2; if(target == arr[mid]) { ...
2021-08-16 10:49:37
43
原创 选择排序算法
思想:从第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零 。 for(int i = 0; i < arr.length; i++) { // 每一次循环 先把第一个元素下标当初最小值下标 int minIndex = i; for(int j
2021-08-16 10:27:52
108
原创 反转链表算法
class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } class Solution { public ListNode ReverseList(ListNode head) { // 如果链表头节点为null或者下一个节点为null,无需反转直接返回 if(head == null || he.
2021-08-13 09:21:54
60
原创 插入排序算法
错误版本 private static void sort(int[] array) { for(int i = 1; i < array.length; i++) { int temp = array[i]; int j; for(j = i -1 ; j >= 0; j--) { if(array[j] > temp) { //
2021-08-12 11:10:40
58
原创 斐波那契数
斐波那契 递归法 /** * 0 1 1 2 3 5 8 13 ... * 递归法 */ public static int fib(int n) { if(n <= 1) return n; // 第n项 = 第n-1项 + 第n-2项 return fib(n - 1) + fib( n -2); } 存在性能问题 迭代法 /** * 0 1 1 2 3 5
2021-08-10 22:36:38
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人