码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
leetcode的Hot100系列--3. 无重复字符的最长子串--滑动窗口
可以先想下这两个问题: 1、怎样使用滑动窗口? 2、如何快速的解决字符查重问题? 滑动窗口 可以想象一下有两个指针,一个叫begin,一个叫now 这两个指针就指定了当前正在比较无重复的字符串,当再往后读取一个字符的时候,就需要比较该字符在begin到now之间是否有重复,如果有重复的话,则记录当前 ...
分类:其他好文   时间:2019-07-16 22:40:47    阅读次数:144
剑指offer:复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)#-*-coding:utf-8-*-#@Time:2019-07-0515:52#@Author:JayceWong#@ProjectName:job#@FileName:co
分类:其他好文   时间:2019-07-06 21:00:22    阅读次数:165
链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路 设置两个指针 fast 、slow,fast先走k-1步,然后再一起走; 先走的k-1步中,如果遇到fast=nullptr,说明链表长度小于k-1,就没有倒数第k项,那就直接返回空指针; 当fast走到最后一个结点,slow恰好在倒数第k ...
分类:其他好文   时间:2019-07-04 14:32:41    阅读次数:92
三数之和(双指针)
class Solution { public List> threeSum(int[] nums) { //这题采用双指针解法。 //首先对数组排序。 //然后固定第一个值i,再定义两个指针,一个low指针指向i的下一个数,一个high指针指向最后一个数 //通过三个数的和判断。因为low和hig... ...
分类:其他好文   时间:2019-07-02 21:35:47    阅读次数:122
14 链表中倒数第K个节点 FindKthToTail
输入一个链表,输出该链表中倒数第k个结点。 核心思想: 两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。 然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了 时间复杂度O(n),一次遍历即可 调试中出现的b ...
分类:其他好文   时间:2019-07-01 10:40:54    阅读次数:104
快排模板
快排模板 1. 定义两个指针,左指针从左边界开始,右指针从右边界开始 2. 左指针指向的数小于x,左指针向右移动,直到指向的数大于等于x 3. 右指针指向的数大于x, 右指针向左移动,直到指向的数小于等于x 4. 交换两个数,继续循环 5. 直到两个指针相等 void quick_sort(int ...
分类:其他好文   时间:2019-06-29 23:42:34    阅读次数:182
排序算法之归并排序
一、原理 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。将已有序的子序列合并,得到完全有序的序列。如下图: 归并过程: 两个指针的元素比较大小,小的元素就会被放入临时列表中,最后的结果就是: 算法步骤: (1)申请临时空间,使其大小为两个已经排序序列之和,该空间用来存放合并 ...
分类:编程语言   时间:2019-06-29 12:58:53    阅读次数:109
剑指:链表中倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 解法 pre 指针走 k-1 步。之后 cur 指针指向 phead,然后两个指针同时走,直至 pre 指针到达尾结点。 即cur与pre始终相距k-1。 当用一个指针遍历链表不能解决问题的时候,可以尝试用两个指针来遍历链表。可以让其中一个指针遍 ...
分类:其他好文   时间:2019-06-28 21:01:17    阅读次数:85
leetcode 11盛水最多的容器
class Solution { public: int maxArea(vector& height) { //双指针法:从最宽的容器开始计算,当更窄的容器盛水量要大于之前容器,那必须比之前容器高,因此可以移动两个指针,直到最窄time O(n),space O(1); int low=0; in... ...
分类:其他好文   时间:2019-06-12 11:05:01    阅读次数:77
荷兰国旗问题
题目描述: 给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N) 解题思路: 使用两个指针:p1,p2 p1 = -1; //左指针,在p1左边并含p1的所有数都<num p2 ...
分类:其他好文   时间:2019-06-07 12:36:23    阅读次数:92
1059条   上一页 1 ... 20 21 22 23 24 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!