算法
微风吹过的尘夏
这个作者很懒,什么都没留下…
展开
-
LeetCode 3. 无重复字符的最长子串
LeetCode 3. 无重复字符的最长子串 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 无重复字符的最长子串是 “abc”,其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 无重复字符的最长子串是 “b”,其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 无重复字符的最长子串是...原创 2018-10-28 21:22:12 · 160 阅读 · 0 评论 -
分治法与归并排序
分治法(Divide and Conquer) 思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解。 分治法每层递归都包含:分解、解决、合并这三个步骤。 归并排序的关键在于“合并”步骤中两个已排序序列。通过一个辅助过程MERGE(A,p,q,r)来完成合并。假设桌上有两堆扑克牌,最顶上一张牌牌面朝上。取两堆中最上面牌较小的那一...翻译 2018-10-29 14:35:31 · 162 阅读 · 0 评论 -
LeetCode26&27 使用双指针法移除数组元素
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 思路:使用双指针i, j,i为慢指针,j为快指针。如果num[i]==num[j],跳过j,否则使num[i]=num[j],并增加i。 class Solution { public int r...翻译 2018-11-14 18:25:37 · 276 阅读 · 0 评论