[TOC] 前端与算法 leetcode 26. 删除排序数组中的重复项 题目描述 "26. 删除排序数组中的重复项" 概要 一提到原地删除数组,就能立即想到双指针法,这道题本身也没什么难度,日常水题, 提示 双指针 解析 没有思路的时候,耐心一点即可 算法 传入 的运行结果 执行结果 ...
分类:
编程语言 时间:
2019-11-09 09:47:39
阅读次数:
62
双指针法: 执行用时 :148 ms, 在所有 Python3 提交中击败了82.08%的用户 内存消耗 :15.5 MB, 在所有 Python3 提交中击败了5.18%的用户 ——2019.10.7 ...
分类:
其他好文 时间:
2019-10-07 23:02:04
阅读次数:
73
方法一:双指针法,先要对数组进行排序 输出:[[1, 8], [3, 6]] 方法二:对于第一种方法,主要时间都用在进行排序上,我们可以利用hash来避免进行排序。 输出:[[1, 8], [3, 6]] 方法三:免去建立hash表 输出:[[6, 3], [8, 1]] 扩展:方法三可以扩展到三个 ...
分类:
编程语言 时间:
2019-10-04 14:51:20
阅读次数:
95
①中文题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 n ...
分类:
编程语言 时间:
2019-09-18 00:48:19
阅读次数:
100
Leetcode刷题总结 目前已经刷了50道题,从零开始刷题学到了很多精妙的解法和深刻的思想,因此想按方法对写过的题做一个总结 双指针法 双指针法有时也叫快慢指针,在数组里是用两个整型值代表下标,在链表里是两个指针,一般能实现O(n)的时间解决问题,两个指针的位置一般在第一个元素和第二个元素或者第一 ...
分类:
其他好文 时间:
2019-08-11 14:56:00
阅读次数:
92
class Solution { public: int maxArea(vector& height) { //双指针法:从最宽的容器开始计算,当更窄的容器盛水量要大于之前容器,那必须比之前容器高,因此可以移动两个指针,直到最窄time O(n),space O(1); int low=0; in... ...
分类:
其他好文 时间:
2019-06-12 11:05:01
阅读次数:
77
1. 原始题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 示例 2: 示例 3: 2. 思路 双指针法。[i,j]左闭又闭区间为当前子串,如果j+1位置的元素没有重复则继续加入,否则i+1直到没有重复元素。那么如何确定是否重复呢,有两种方法,第一种是循环判断在字串 ...
分类:
其他好文 时间:
2019-05-02 11:48:01
阅读次数:
117
# 1、在有序表中查找两数组指定的和,双指针法# 2、滑动窗口 : 连续子数组之和# 3、二分查找 : 顺序数组中查找特定的值# 4、递归程序的真正的构建是从底向上的,这就是为什么递归终止条件要写在最前面# 参见 反转链表的递归程序 LeetCode206# 5、 链表归并排序的递归过程,要好好体会 ...
分类:
其他好文 时间:
2019-03-17 15:53:17
阅读次数:
186
方法:双指针法 算法 数组完成排序后,我们可以放置两个指针 ii 和 jj,其中 ii 是慢指针,而 jj 是快指针。只要 nums[i] = nums[j]nums[i]=nums[j],我们就增加 jj 以跳过重复项。 当我们遇到 nums[j] \neq nums[i]nums[j]??=nu ...
分类:
编程语言 时间:
2019-01-23 22:35:29
阅读次数:
188