刷题打卡记录day1|704.二分法查找

题目链接:704. 二分查找 - 力扣(LeetCode)

题目想法:由于之前是看过代码随想录的,所以这道题还是较为简单的。但是还是有些遗忘,突然忘了如何写二分法了,主要就是无法马上考虑到边界情况,什么时候能够返回-1,然后什么时候找到target,这些还是无法一下子想出来。不过题目还是AC了,主要就是注意左右区间的开闭,然后就是新区间的取值。

题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)

题目想法:看到这个题还是思路比较乱的,直到要用二分法但是不知从何下手,最后看了别人的代码,发现了一个比较好的解题思路。分两次二分法查找,一次找左边界,一次找有边界。找左边界时,如果nums[mid] 和 target 相等就让 right - 1 ,这样区间是向左进行的最后找到左边界。同理,有边界就是相等时让 left + 1 ,这样找到有边界。这个算法还有一个巧妙地地方,最开始给左右边界均赋值-1,这样如果没找到或者给的数组没有值,那无需判断直接就能返回{-1,-1}。

题目链接:35. 搜索插入位置 - 力扣(LeetCode)

题目想法:这个就是找到插入位置就是left就能解决

题目链接:27. 移除元素 - 力扣(LeetCode)

题目想法:这用双指针真的很快。然后想尝试一下暴力解法,结果出bug了,进入了无线死循环,bug代码和改完之前的代码付下,主要还是数组长度变了没考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值