双指针
MrDing_CoolPig
这个作者很懒,什么都没留下…
展开
-
对链表进行插入排序 Insertion Sort List
147. Insertion Sort List来源: LeetCode 147. Insertion Sort List题目描述147. Insertion Sort ListSort a linked list using insertion sort.A graphical example of insertion sort. The partial sorted list (...原创 2020-05-01 11:41:27 · 201 阅读 · 0 评论 -
简化路径
71. Simplify Path来源: LeetCode 71. Simplify Path题目描述71. Simplify PathGiven an absolute path for a file (Unix-style), simplify it. Or in other words, convert it to the canonical(规范的) path.In a UNI...原创 2020-04-28 10:53:20 · 166 阅读 · 0 评论 -
压缩字符串
443. String Compression来源: LeetCode 443. String Compression题目描述443. String CompressionGiven an array of characters, compress it in-place.The length after compression must always be smaller than ...原创 2020-04-27 21:24:20 · 178 阅读 · 0 评论 -
翻转字符串中的元音字母 - easy
345. Reverse Vowels of a String来源: LeetCode 345. Reverse Vowels of a String题目描述345. Reverse Vowels of a StringWrite a function that takes a string as input and reverse only the vowels of a string....原创 2020-04-27 20:53:18 · 358 阅读 · 0 评论 -
搜索旋转数组
面试题 10.03. 搜索旋转数组来源: LeetCode 面试题 10.03. 搜索旋转数组题目描述面试题 10.03. 搜索旋转数组搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。示例1: 输入: arr = [15, 16, 19,...原创 2020-04-27 12:03:42 · 192 阅读 · 0 评论 -
寻找旋转排序数组中的最小值 II
154. 寻找旋转排序数组中的最小值 II来源: LeetCode154. 寻找旋转排序数组中的最小值 II题目描述154. 寻找旋转排序数组中的最小值 II假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入...原创 2020-04-27 11:50:22 · 167 阅读 · 0 评论 -
寻找旋转排序数组中的最小值
153. 寻找旋转排序数组中的最小值来源: LeetCode 153. 寻找旋转排序数组中的最小值题目描述153. 寻找旋转排序数组中的最小值假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,...原创 2020-04-27 11:44:19 · 286 阅读 · 0 评论 -
搜索旋转排序数组 II
81. 搜索旋转排序数组 II来源: LeetCode 81. 搜索旋转排序数组 II题目描述81. 搜索旋转排序数组 II假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。示例 1:输...原创 2020-04-27 11:32:10 · 178 阅读 · 0 评论 -
33. 搜索旋转排序数组
33. 搜索旋转排序数组来源: LeetCode 33. 搜索旋转排序数组题目描述33. 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算...原创 2020-04-27 10:59:23 · 136 阅读 · 0 评论 -
验证回文串
125. 验证回文串来源: LeetCode 125. 验证回文串题目描述125. 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: ...原创 2020-04-23 17:51:12 · 136 阅读 · 0 评论 -
盛最多水的容器
11. 盛最多水的容器来源: LeetCode 11. 盛最多水的容器题目描述11. 盛最多水的容器给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少...原创 2020-04-18 12:29:46 · 151 阅读 · 0 评论 -
两数之和II-输入有序数组
167 两数之和II-输入有序数组167. 两数之和II-输入有序数组本题实际与两数之和相同如果先做这道题两数之和迎刃而解- 题目确保输入只对应一个答案- 如果原数组有序,可以设置头尾指针向中间搜索 - 头尾指针相加得到和N - N < target:头指针指示数据过小 - N > target:尾指针指示数据过大- 排序时间复杂度:O(nlgn)- 查找:O(n)...原创 2020-04-13 20:26:51 · 103 阅读 · 0 评论 -
乘积小于K的子数组
暴力int res = 0; for(int i=0; i<nums.size(); ++i){ int mulp = 1; for(int j=i; j<nums.size(); ++j){ mulp *= nums[j]; if(mulp < k...原创 2020-04-13 20:25:17 · 177 阅读 · 0 评论 -
和为K的连续子数组
560 和为K的连续子数组LeetCode-560:和为K的连续子数组优雅的暴力(累加和) 分析题目可以知道所求是在给定数组范围内求解区间(i,j)的子数组之和sum使得sum = k - 通过两层循环依次求出所有累加和与K值比较C++代码实现如下class Solution {public: int subarraySum(vector<int>&...原创 2020-04-13 20:23:52 · 2273 阅读 · 0 评论 -
两数之和
1.两数之和LeetCode暴力搜索- 直观上可以直接采用暴力搜索的方法时间复杂度为O(N^2)- 比较每个元素相加的和是否等于target- 可以采用两种办法对暴力法优化 - 双指针 - hash查找Method 1:双指针- 题目确保输入只对应一个答案- 如果原数组有序,可以设置头尾指针向中间搜索 - 头尾指针相加得到和N - N < target:头指针指示...原创 2020-04-13 20:23:38 · 155 阅读 · 0 评论 -
两数之和 IV - 输入 BST
653. 两数之和 IV - 输入 BST653. 两数之和 IV - 输入 BST两数之和两数之和II完全相同一起食用与以上两道题唯一的区别时数据结构是二叉搜索树两种解决办法- 中序遍历得到递增序列- 树遍历不断更新hash集中序遍历+双指针/** * Definition for a binary tree node. * struct TreeNode { ...原创 2020-04-13 20:23:21 · 146 阅读 · 0 评论 -
三数之和
三数之和三数之和这道题和两数之和四数之和三道题思路一样,都可以用双指针的方式和hash表的方式进行优化。当数字个数越多hash的方式优势越明显,四数之和明显优于双指针点:如何去掉重复的数据即不包含重复的三元组双指针固定一个数据寻找另外两个数据就退化为了两数之和每次加入元素的时候比较其与相邻元素的关系如果相等就跳过这个元素(去重)class Solution {pu...原创 2020-04-13 20:21:54 · 93 阅读 · 0 评论