27. 移除元素:暴力解法是用两个for循环,第一个for循环遍历数组元素,第二个for循环更新数组,时间复杂度O(n^2);双指针法通过快慢指针在一个for循环内完成,时间复杂度O(n) 15. 三数之和:双指针法将原本时间复杂度为O(n^3)的解法降为O(n^2)的解法 18. 四数之和:双指针法将原本时间复杂度为O(n^4)的...
其实使用双指针也可以解决1.两数之和的问题,只不过1.两数之和求的是两个元素的下标,没法用双指针,如果改成求具体两个元素的数值就可以了,大家可以尝试用双指针做一个leetcode上两数之和的题目,就可以体会到我说的意思了。 使用了哈希法解决了两数之和,但是哈希法并不使用于三数之和! 使用哈希法的过程中要...
https://leetcode-cn.com/problems/container-with-most-water/solution/sheng-zui-duo-shui-de-rong-qi-by-leetcode-solution/ 这里我来说自己的理解,计算盛水容器面积时,取的是双指针中较小值作为高,双指针的索引差为底,乘积即面积结果。换言之,双指针中的较大值并没有并用到,而此时双指针不可能往外扩展...
双指针法降低时间复杂度-LeetCode相关题目双指针法降低时间复杂度:O(n^2)优化为 O(n),O(n^3)优化为O(n^2),O(n^4)优化为O(n^3),以此类推。也就是降一个数量级,题目如下: 27.移除元素(opens new window)15.三…
简介:LeetCode 题目 88:双指针\直接\递归\插入排序\归并排序 实现合并两个有序数组 作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区: 题目描述 给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得nums1成为一个有序...
题目分析: Example 1中,要将重复的3全部删除,可以使用一个指针slow指向2,另外一个指针fast指向3,让2的next指向3的next 在Example 2中,看到需要删除的可能是头节点,因此需要一个dummy节点指向头节点,这样可以简单的统一的处理包括头节点在内的所有节点
题目链接:https://leetcode-cn.com/problems/string-compression/ classSolution{public:intcompress(vector<char>& chars){intn = chars.size();intcur =0;for(inti =0, j =0; i < n;) { j = i +1;while(j < n && chars[i] == chars[j]) j++;if(j - i >1) ...
简介:LeetCode 题目 88:双指针\直接\递归\插入排序\归并排序 实现合并两个有序数组 作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 ...
LeetCode题解 二分查找 LC704 二分查找 题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 class Solution: def search(self, n
Leetcode题目75.颜色分类(双指针-中等) 题目描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:...