Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solut($A, $X) {
- $N = sizeof($A);
- if ($N == 0) {
- return -1;
- }
- $l = 0;
- $r = $N - 1;
- while ($l < $r) {
- $m = (int)(($r - $l) / 2) + (int)(($r - $l) % 2) + $l;
- if ($A[$m] > $X) {
- $r = $m - 1;
- } else {
- $l = $m;
- }
- }
- if ($A[$l] == $X) {
- return $l;
- }
- return -1;
- }
- .......................
- public function testMain2 () {
- $this->assertEquals(2, $this->solut([1, 2, 5, 9, 9], 5));
- $this->assertEquals(4, $this->solut([1, 2, 5, 9, 9], 9));
- $this->assertEquals(1, $this->solut([1, 2, 5, 9, 9], 2));
- $this->assertEquals(0, $this->solut([1, 2, 5, 9, 9], 1));
- }
Add Comment
Please, Sign In to add comment