码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
剑指Offer-2.替换空格(C++/Java)
题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析: 题意明确,就是将一个字符串中的每个空格替换成“%20”,可以新建一个空字符串,遍历原字符串,遇到空格就添加“%20”,否则就 ...
分类:编程语言   时间:2019-11-06 00:58:49    阅读次数:105
LinkdeHashMap集合源码
一、前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问。 二、LinkedHashMap用法 impo ...
分类:其他好文   时间:2019-11-02 20:17:39    阅读次数:77
KMP
用于字符串匹配,复杂度O(n+m) 步骤: 1.b串自我匹配出f数组,其中f[i]表示以b[i]为结尾的后缀与前缀的最大匹配长度-1 2.依次与a串中每个字符匹配。i、j分别作为a与b的指针。 若a[i]==b[j] 两个指针后移,再判断j是否到达b末 否则 若j非0 j = 上一个匹配位置f[j- ...
分类:其他好文   时间:2019-10-31 22:12:06    阅读次数:106
如何高效的对有序数组去重
给定一个排序数组,需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度 数组nums=[0,0,1,1,1,2,2,3,3,4] 函数应该返回新的长度为5,并且原数组nums的前五个元素被修改为0,1,2,3,4。不要使用额外的数组空间,必须在原地修改输入数据并在O(1)额外 ...
分类:编程语言   时间:2019-10-31 16:21:58    阅读次数:101
Add Binary
思路很简单,使用两个指针i和j,分别用来遍历字符串a和字符串b。使用一个全局变量carry来记录其进位,使用一个局部变量sum来记录每一次指针所指向的数字相加之和与carry的和。然后,重新给carry和sum赋值,让sum和carry等于0或1。最后如果carry等于1,就需要将它append。最 ...
分类:其他好文   时间:2019-10-27 01:21:37    阅读次数:76
74. Search a 2D Matrix
/** * 74. Search a 2D Matrix * https://leetcode.com/problems/search-a-2d-matrix/description/ * * Write an efficient algorithm that searches for a valu... ...
分类:其他好文   时间:2019-10-27 01:04:50    阅读次数:93
240. Search a 2D Matrix II
package LeetCode_240 /** * 240. Search a 2D Matrix II * https://leetcode.com/problems/search-a-2d-matrix-ii/description/ * * Write an efficient algori... ...
分类:其他好文   时间:2019-10-27 00:56:21    阅读次数:103
【算法学习】快速排序
1.算法思路: 选择一个基准点,将数组中比基准点小的值移到基准值左边,比基准值大的移到基准值右边。然后递归调用,将基准值左右两边的数组做同样操作,递归结束的条件是数组只有一个元素。 基准点归位的方法: 设一头一尾两个指针,右指针向左找比第一个基准值小的数,左指针向右找第一个比基准值大的数,找到后交换 ...
分类:编程语言   时间:2019-10-26 01:21:58    阅读次数:81
【算法学习】归并排序
1.算法思路: (1)将待排序数组分为两份,利用递归将两份数组排好序 (2)将两个有序数组归并成一个有序数组。 实现方法: a.设置两个指针,分别指向两个数组的开头,比较指针所指向的数字,将较小的数字加入一个辅助数组中,指针前移,直到其中一个指针溢出 b.将未溢出的数组剩余的元素加入辅助数组中 c. ...
分类:编程语言   时间:2019-10-22 21:56:43    阅读次数:108
判断链表是否有环
用两个指针fast和slow指针(快慢指针),开始的时候指针都指向链表的Head节点,然后在每一步的操作中slow向前走一步:slow = slow.Next,而fast就向前走两步 :fast = fast.Next.Next;快指针fast由于比慢指针slow快,所以fast一定比slow先进入 ...
分类:其他好文   时间:2019-10-21 11:52:19    阅读次数:80
1059条   上一页 1 ... 15 16 17 18 19 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!