2017-10-22 6 views
0

バイナリ検索に問題があります。私は自分の関数に検索値の最小の(関数が最初に出会う)インデックスを返します。私の関数はインデックスのランダムな値を返すことがあります。たとえば、私が999999を選択し、配列でこの値の2つのインデックスがある場合、この2つからランダムな値が返されます。それを修正するには?以下の私のコード: https://paste.ofcode.org/MwzTMsrZF8ZdNNqh5em8FBバイナリ検索ランダム返信

+0

まで、バイナリ検索を継続する必要があります。最小限のコードと入力と出力の例を提供することができますか? – s5s

+0

例:input 999998、output:999995しかし、配列を出力すると、searchedValue 999998はインデックス999994と999995にあることがわかります。私のsearchedValue(この例では999994)が表示される最小のインデックスを返します。ランダム。私は何を変えるべきですか? – mty

答えて

0

あなたは、私がhttps://stackoverflow.com/help/how-to-askを通過示唆vector[index] == searchValue && (index == 0 || vector[index - 1] != searchValue)