美文网首页
删除有序数组的重复元素,并返回元素的个数

删除有序数组的重复元素,并返回元素的个数

作者: Newzer | 来源:发表于2022-07-18 13:36 被阅读0次
    $arr = array(1,2,3,3,4,5);
    print_r(remove1($arr ));
    
    
    //方法1
    function remove1($arr){
        $count = count($arr);
        if ($count == 0 || $count == 1) {
            return $count;  
        }
        $i = 0;
        for ($j = 1; $j < $count; $j++) {
            if ($arr[$j] != $arr[$i]) {
                $i++;
                $arr[$i] = $arr[$j];
            }
        }
        return $i + 1;
    }
    
    //方法2
    function remove2(&$nums) {
            $count = count($nums);
            if ($count == 0 || $count == 1) {
                return $count;
            }
            $lastvalue = null;
            $length = 0;
            foreach ($nums as $k => $v) {
                if ($v === $lastvalue) {
                    unset($nums[$k]);
                }else {
                   $lastvalue = $v;
                   $length ++;
                }
            }
            return $length;
        }
    
    

    相关文章

      网友评论

          本文标题:删除有序数组的重复元素,并返回元素的个数

          本文链接:https://www.haomeiwen.com/subject/bzhfirtx.html