美文网首页
leetcode-day01 数组

leetcode-day01 数组

作者: 独孤蝴蝶 | 来源:发表于2023-06-06 19:53 被阅读0次

    二分查找

    题解:

    此题使用二分查找的方法:一般使用二分查找的注意的点是,给定的数据结构是有序,本题中已经说明数组nums是一个有序数组,那么就不用去考虑给数组排序的问题。

    在上面的代码中我们使用的一种写法是:while left  <= right,在此处使用的是小于等于,这个相当于什么呢,就是左闭右闭区间 [left, right],就是说left == right是有意义的,if nums[mid] > right: right 要赋值为mid -1,因为当前这个num[mid]值一定不是target,所以查找的左区间一定是mid - 1的。

    还有一种写法是左闭右开,即 [left, right),在此区间内,left == right是无意义的,因此我们的循环写法是:while left < right,代码如下,大家发现有两个不同点:

    1.right的初始值

    2.right的赋值

    移除元素

    暴力解法:

    双指针法:

    双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作

    定义快慢指针:

    快指针:寻找新的数组的元素,新数组就是不含有目标元素的数组

    慢指针:指向更新 新数组下标的位置

    相关文章

      网友评论

          本文标题:leetcode-day01 数组

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