Two Pointers
joycetlm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Two Pointers
两根指针问题,分为两类:同向指针、相向指针,时间复杂度均为O(n) (一)Move Zeroes (同向指针) https://leetcode.com/problems/move-zeroes/description/ 题目:将数组中所有0元素移动到数组最右边,非零元素顺序不变; 解答:用快慢两指针。快指针每次向前挪一位,若遇到不为0的数,则将快慢指针位置交换并将慢指针挪一位(依次遍原创 2018-01-21 09:29:24 · 368 阅读 · 0 评论 -
Partition
(一) Sort Colors 题目:一个无序数组仅仅含有0,1,2三种元素,要求按照0,1,2的顺序排列; 解答:调用两次快速选择的方法; 代码: class Solution { public void sortColors(int[] nums) { quickSelect(nums, 0); quickSelect(nums, 1);原创 2018-01-21 11:28:43 · 237 阅读 · 0 评论 -
Two Sum
(一)Two Sum https://leetcode.com/problems/two-sum/description/ 题目:对一个无重复元素的无序数组,找到满足两个数和为target的组合并返回两数下标(该数组必定且只存在一个满足条件的组合,且一个元素不可使用两次); 解答: 法一:HashMap:将 nums[index] 和 index 作为key, value值存入hash原创 2018-01-22 07:04:52 · 162 阅读 · 0 评论
分享