Tag

#5ym5oyh6zki

双指针从零学习

双指针是算法中非常基础且重要的技巧,今天我来聊聊这个话题。 双指针,顾名思义就是使用两个指针来解决问题。这两个指针可以同向移动,也可以反向移动,甚至可以一个快一个慢。根据不同的场景,选择不同的指针策略,能够大大简化问题。 以一个常见问题为例:删除有序数组中的重复项。 解法一:暴力解法 最直观的想法是,遇到重复的就把后面的元素都前移一位。这样虽然能解决问题,但时间复杂度是O(n²),空间复杂度是O(1)。 代码实现: public int removeDuplicates(int[] nums) ...

Date: |Estimated Reading Time: 3 min|Author: MrHe