Java 二分探索 BinarySearch
Javaで二分探索を実装しました
class BinarySearch { static int solve(int[] array, int key) { int left = 0; int right = array.length - 1; int mid; while (left <= right) { mid = (left + right) / 2; if (array[mid] < key) { left = mid + 1; continue; } else if (key < array[mid]) { right = mid - 1; continue; } else { return mid; } } // 存在しない場合 return -1; } }
使い方
static関数にしてあるのでインスタンスを作らずにそのまま関数を呼び出すことができる.
BinarySearch.solve ( 配列 , 探したい数字 );
memo
存在する場合は index を返す. 存在しない場合は -1 を返すようにしてある.