find sorted half first and then binary search target