双指针
leetcode 双指针
earlene_wyl
这个作者很懒,什么都没留下…
展开
-
leetcode 524. 通过删除字母匹配到字典里最长单词 medium
leetcode524. 通过删除字母匹配到字典里最长单词medium 题目描述:解题思路:实际两个问题的组合:1. 如何判断字符串s2是s1的子序列2. 如何得到长度最长且字母序最小的 结果问题1可以用双指针来判断,问题2可以先给dictionary 排序来优化c++ sort 之后的结果是,调用comp(i, i+n)的结果是true。 所以要想长度最长且字母序最小autocmp=[](conststring...原创 2021-12-15 15:21:53 · 1085 阅读 · 0 评论 -
leetcode 680. 验证回文字符串 Ⅱ easy
leetcode680. 验证回文字符串 Ⅱ easy 题目描述:解题思路:贪心+双指针。。不过简单题确实想一想就会代码://class Solution {public: bool validPalindrome(string s) { int l = 0, r = s.size()-1; while (l < r){ if (s[l] != s[r]) ...原创 2021-12-15 14:27:23 · 73 阅读 · 0 评论 -
leetcode 345. 反转字符串中的元音字母 easy
leetcode345. 反转字符串中的元音字母 easy 题目描述:解题思路:双指针遍历到元音字母,交换代码://class Solution {public: string reverseVowels(string s) { int l = 0, r = s.size()-1; unordered_set<char> hash = {'a', 'e', 'i', 'o', 'u'}; ...原创 2021-12-15 14:11:48 · 65 阅读 · 0 评论 -
leetcode 283. 移动零 easy
leetcode283. 移动零 easy 题目描述:解题思路:因为只要保证非零元素的相对顺序, 借鉴快排的partition。代码://class Solution {public: void moveZeroes(vector<int>& nums) { int tail = 0; // 表示下一个非0 要放的下标 // 【0, tail-1】 表示非0区域 【tail,i】是0区域 ...原创 2021-12-15 13:35:33 · 343 阅读 · 0 评论 -
【无标题】
leetcode611. 有效三角形的个数 medium 题目描述:解题思路:首先对数组排序。 固定最长的一条边,运用双指针扫描可能对这种排完序的数组,就得想想双指针?代码:class Solution {public: int triangleNumber(vector<int>& nums) { if (nums.size() < 3) return 0; ...原创 2021-12-15 13:10:44 · 878 阅读 · 0 评论 -
leetcode88. 合并两个有序数组 easy
leetcode88. 合并两个有序数组 easy 题目描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:...原创 2019-08-04 13:49:31 · 241 阅读 · 0 评论 -
leetcode 11. 盛最多水的容器 medium
leetcode11. 盛最多水的容器 medium 题目描述:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。...原创 2019-08-12 17:00:42 · 111 阅读 · 0 评论 -
leetcode 26 && 80. 删除排序数组中的重复项(I II) easy
leetcode26. 删除排序数组中的重复项 easy 题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 num...原创 2019-08-19 22:36:52 · 160 阅读 · 0 评论 -
leetcode 27. 移除元素 easy
leetcode27. 移除元素 easy 题目描述:解题思路:双指针代码://class Solution {public: int removeElement(vector<int>& nums, int val) { int pre = -1; for (int i = 0; i < nums.size(); i++){ if (nums[i] !=...原创 2021-12-15 10:32:05 · 606 阅读 · 0 评论 -
leetcode 633. 平方数之和 medium
leetcode 633. 平方数之和medium 题目描述:解题思路:双指针, i从0开始取,j从可取的最大数sqrt(c)开始代码://class Solution {public: bool judgeSquareSum(int c) { int i = 0; int j = sqrt(c); while (i<=j){ long long cur ...原创 2021-12-14 21:50:54 · 91 阅读 · 0 评论 -
leetcode n数之和 1 && 167 && 15 && 16 && 18 && 454
leetcode1. 两数之和 easy_speargod的博客-CSDN博客leetcode167. 两数之和 II - 输入有序数组 easy_speargod的博客-CSDN博客leetcode15. 三数之和 medium_speargod的博客-CSDN博客leetcode16. 最接近的三数之和 medium_speargod的博客-CSDN博客 leetcode 18. 四数之和 medium_speargod的博客-CSDN博客 leetcode...原创 2021-11-05 18:39:11 · 86 阅读 · 0 评论 -
leetcode 18. 四数之和 medium
leetcode18. 四数之和 medium题目描述:给你一个由 n 个整数组成的数组nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d< na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按...原创 2021-11-05 16:01:03 · 109 阅读 · 0 评论 -
leetcode 16. 最接近的三数之和 medium
leetcode16. 最接近的三数之和 medium 题目描述:给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三...原创 2019-08-19 21:09:13 · 112 阅读 · 0 评论 -
leetcode 15. 三数之和 medium
leetcode15. 三数之和 medium 题目描述:给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:...原创 2019-07-29 00:09:06 · 109 阅读 · 0 评论 -
leetcode167. 两数之和 II - 输入有序数组 easy
leetcode167. 两数之和 II - 输入有序数组 easy 题目描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答...原创 2019-07-28 23:42:54 · 298 阅读 · 0 评论