代码随想录算法训练营第一天|704. Binary Search, 27. Remove Element

2,516 阅读1分钟

704. Binary Search

使用了两种方法,如视频所指引。一种是左闭右闭的做法

image.png

另一种是左闭右开的做法

image.png

且稍微复习了一下位运算的内容。 对于两种做法还是有点不够熟悉,无法直接做到位,经过和群友讨论之后,也梳理了一下相关知识点以及mid点的选择。

27. Remove Element

本题依然是简单题,也是做过的题目。属于数组类题型中的入门题型,也是使用双指针的基础练习。我依然使用了两种方法,一种是快慢指针的做法

image.png index为慢指针,用于追踪不等于目标数字val的数组的长度 而i则为正常遍历整个数组之用,当遇到等于val的元素的时候,慢指针将不再向前移动,直到遇到下一个不等于val的元素。

另一种方法是相向双指针法

image.png 在数组首尾位置各设置一个指针,相向移动,通过两个独立的while循环让左指针找到第一个不等于val的元素,而右指针找到第一个为val的元素,将右指针指向的数字赋予左指针位置。此种做法对比起快慢指针来说,稍微更复杂一点,因为需要考虑到更多终止条件,以免出现数组越界的问题,相对来说,更喜欢第一种解法。