35.検索挿入位置
イージー
ターゲットが発見された場合にソートされた配列と目標値を考えると、インデックスを返します。そうでない場合、それは順番に挿入された場合、それは次のようになり、インデックスを返します。
あなたは、配列には重複を想定していません。
例1:
入力:[1,3,5,6]、5 出力:2
例2:
入力:[1,3,5,6]、2 出力:1
例3:
入力:[1,3,5,6]、7 出力:4
例4:
入力:[1,3,5,6]、0 出力:0
パッケージleetcode。 パブリッククラスSearchInsertPosition { @ org.junit.Test 公共ボイド試験(){ INT [] nums1 = {1、3、5、6}。 int型ターゲット1 = 5; INT [] nums2 = {1、3、5、6}。 int型TARGET2 = 2; INT [] nums3 = {1、3、5、6}。 int型target3 = 7; INT [] nums4 = {1、3、5、6}。 int型target4 = 0; System.out.println(searchInsert(nums1、ターゲット1))。 System.out.println(searchInsert(nums2、TARGET2))。 System.out.println(searchInsert(nums3、target3))。 System.out.println(searchInsert(nums4、target4))。 } 公共INT searchInsert(INT [] NUMS、INT対象){ 低いINT = 0。 int型高= nums.length - 1。 一方(低<=高){ int型ミッド=(低+高)/ 2。 IF(NUMS [中間] ==ターゲット){ 半ばを返します。 } (NUMS [中間]>ターゲット)であれば{ ハイ=ミッド- 1。 }他{ 低い=ミッド+ 1。 } } 低い返します。 } }