数组拷贝,二分法查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组拷贝,二分法查找相关的知识,希望对你有一定的参考价值。

Arrays.copyOfRange(int[] arr,int开始下标,int结束下标)//左闭右开 System.arraycopy(int[] source,int开始下标,int[] dest,int开始下标,int拷贝多少个) 这里是手动拷贝: public static int[] copyOf(int[] original, int newLength) { int[] dest = new int[newLength]; int length = original.length <= newLength ? original.length : newLength; for (int i = 0; i < length; i++) { dest[i] = original[i]; } return dest; } mid作为分水岭, 不断地缩小范围 // 前提需要数组是有序的 public static int binarySearch(int[] a, int v) { int left = 0; int right = a.length; while (left < right) { int mid = (left + right) / 2; if (v == a[mid]) { return mid; } else if (v < a[mid]) { right = mid; } else { left = mid + 1; } } return -1; } public static int binarySearch2(int[] a, int v) { int left = 0; int right = a.length - 1; while (left <= right) { int mid = (left + right) / 2; if (v == a[mid]) { return mid; } else if (v < a[mid]) { right = mid - 1; } else { left = mid + 1; } } return -1; }

以上是关于数组拷贝,二分法查找的主要内容,如果未能解决你的问题,请参考以下文章

算法二分法 ② ( 排序数组中查找目标值 | 二分法的经典写法 | 在排序数组中查找元素的最后一个位置 | 二分法的通用模板 )

数组中的二分法查找

在数组中使用二分法查找

算法 - 二分法查找

数组排序 和 二分法查找

如何实现数组的二分查找