b o o l s e a r c h ( i n t * n u m s , i n t n u m s S i z e , i n t t a r g e t ) { ⏎
⇥ i n t l e f t = 0 , r i g h t = n u m s S i z e - 1 ; ⏎
⇥ w h i l e ( l e f t < = r i g h t ) { ⏎
⇥ ⇥ i n t m i d = l e f t + ( r i g h t - l e f t ) / 2 ; ⏎
⇥ ⇥ i f ( n u m s [ m i d ] = = t a r g e t ) { ⏎
⇥ ⇥ ⇥ r e t u r n t r u e ; ⏎
⇥ ⇥ } ⏎
⇥ ⇥ i f ( n u m s [ l e f t ] = = n u m s [ m i d ] & & n u m s [ m i d ] = = n u m s [ r i g h t ] ) { ⏎
⇥ ⇥ ⇥ l e f t + + ; ⏎
⇥ ⇥ ⇥ r i g h t - - ; ⏎
⇥ ⇥ } e l s e i f ( n u m s [ l e f t ] < = n u m s [ m i d ] ) { ⏎
⇥ ⇥ ⇥ i f ( n u m s [ l e f t ] < = t a r g e t & & t a r g e t < n u m s [ m i d ] ) { ⏎
⇥ ⇥ ⇥ ⇥ r i g h t = m i d - 1 ; ⏎
⇥ ⇥ ⇥ } e l s e { ⏎
⇥ ⇥ ⇥ ⇥ l e f t = m i d + 1 ; ⏎
⇥ ⇥ ⇥ } ⏎
⇥ ⇥ } e l s e { ⏎
⇥ ⇥ ⇥ i f ( n u m s [ m i d ] < t a r g e t & & t a r g e t < = n u m s [ r i g h t ] ) { ⏎
⇥ ⇥ ⇥ ⇥ l e f t = m i d + 1 ; ⏎
⇥ ⇥ ⇥ } e l s e { ⏎
⇥ ⇥ ⇥ ⇥ r i g h t = m i d - 1 ; ⏎
⇥ ⇥ ⇥ } ⏎
⇥ ⇥ } ⏎
⇥ } ⏎
⇥ r e t u r n f a l s e ; ⏎
}