35. Search Insert Position

class Solution {

    /**
     * @param Integer[] $nums
     * @param Integer $target
     * @return Integer
     */
    function searchInsert($nums, $target) {
        $prev = $target;
        $lastKey = array_key_last($nums);
        foreach($nums as $key => $num) {
            if ($target === $num) {
                return $key;
            } elseif ($prev < $target && $target < $num) {
                return $key;
            } elseif ($key === 0 && $target < $num) {
                return 0;
            } elseif ($lastKey === $key) {
                return ++$key;
            }
            
            $prev = $num;
        }
    }
}

Last updated