力扣第一题:二数之和

力扣原题:
在这里插入图片描述
我的php解法

class Solution {
    /**
     * @param Integer[] $nums
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($nums, $target) {
        $count = count($nums);
        for ($i = 0 ;$i < $count-1;$i++){
            for($j = $i+1; $j < $count ;$j++){
                if($nums[$i] + $nums[$j] == $target)
                {
                    return [$i,$j];
                }
            }
        }

    }
}

删除有序数组中的重复项,并返回数组长度。

可以先去除异常场景
$nums 为null 或者数组为空的情况去除。
解题思路1: 因为是排序过的数组,记录重复的数个数,当前一个元素跟后一个元素相等的时候$count+1,如果不等,则把后一个数组赋值给到 i−i-icount位元素。
在这里插入图片描述
第二种思路:用快慢指针法,快指针从1开始循环。只有单满指针所指的值不等于快指针所指的值时,满指针自增。循环结束返回慢指针+1就是数组有效值的长度。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值