算法 | Day 1 数组

本文介绍了如何使用二分查找算法解决LeetCode第704题,强调了处理单元素数组和空数组时的特殊情况,以及在Python中确保mid为整数的重要性。同时,提到了移除元素问题的两种解法——暴力破解和快慢指针法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 LeetCode 704  二分查找

解题思路:

二分法从中间开始查找

注意点:

1、while 循环中 left < right 可以吗

显然是不行的,如果输入的数组是单元素数组 [1],此时 left = 0 = right 

2、python 2 中的选择判断语句 if elif else

思考:

1、是否需要判断 len(nums) == 0 

如果len(nums) == 0 即我们输入的是一个空数组,那么此时 left = 0 right = -1

mid = int (-0.5) = 0  此时 nums[mid] 会报错,数组上标或下标越界,Out of range  

所以,需要单独判断输入的是否是空数组

2、mid 是否需要是整数

当然需要是整数,不然数组无法识别

LeetCode 移除元素

解题思路: 

1、暴力破解法

遍历 -> 找元素 -> 删 

2、快慢指针法

快慢指针法,可以抽象理解成,A是输入数组,B是输出数组,A和B是同一个数组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值