摘要:
经典二分思路: 案例: 有序数组: {1,2,3,4,5,6,7,8,9} 目标target: 9 首先找到数组的中间下标:mid = (start + end)/2 -> (0 + 8)/2 = 4 {1,2,3,4,5,6,7,8,9} 我们的中间值5 < 9,我们把start下标移到mid +
阅读全文
posted @ 2025-02-23 22:09
Ireck
阅读(3)
推荐(0)
编辑
摘要:
给定一个数组,做排序,从第1下标开始,保证下标1之前的有序,如果下标0位比下标1位大,交换操作;从第2下标开始,保证下标2之前的有序,如果下标2位比下标1位大,交换操作,再次比较下标1位和下标0位,如果下标1位比下标0位大,交换操作;以此类推。 示例: 未排序的: {5, 6, 4, 8, 7, 9
阅读全文
posted @ 2025-02-23 18:22
Ireck
阅读(3)
推荐(0)
编辑
摘要:
给定一个数组,做排序,从最左边开始和它相邻的数比较,如果左边比右边大,交换位置,一直到n;从最左边开始和它相邻的数比较,如果左边比右边大,交换位置,一直到n-1,以此类推,直到下标为0。 题解 public static void bubbleSort(int[] arr) { // 边界处理 if
阅读全文
posted @ 2025-02-23 17:57
Ireck
阅读(3)
推荐(0)
编辑
摘要:
给定一个数组,做排序,从第0的下标开始,找到0-n下标中最小的数,做交换操作;从第1的下标,找到1-n下标中最小的数,做交换操作;以此类推,直到完成整个排序。 题解: public static void selectionSort(int[] arr) { // 边界条件判断 if (arr ==
阅读全文
posted @ 2025-02-23 17:40
Ireck
阅读(2)
推荐(0)
编辑