Suzy找到实习了吗 | 704. 二分查找、27. 移除元素
Leetcode 704:二分搜索
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
收获
不知不觉从暑假开始,就从数组开始刷,这是第三次做这个题了
Divide and conquer
二分搜索
Recursive relation
T(n)=T(n/2)+O(1), 给定一个包含有n/2个元素的有序数组B[n/2],我们要使用二分法知道元素x是否存在这个数组中。 也就是说,最多经历log2(n)+1次步骤之后,我们获得查找的结果。 所以二分查找算法的时间复杂度为O(logn)
Python 3 class类的写法
教程:Python 3 class
遇到的问题:在定义class子函数时的第一个参数一定是self。在class中如果子函数function 1 call 子函数function 2:self.function2()
Leetcode 27
收获
双指针法
慢指针:追踪更新后的数组的下标
快指针:寻找旧数组中值不等于val的数字
算法时间分析
时间复杂度:O(n)
空间复杂度:O(1)
相关题目推荐(未完成)
26.删除排序数组中的重复项
283.移动零
844.比较含退格的字符串
977.有序数组的平方