LeetCode刷题---215. 数组中的第K个最大元素(双指针,快速选择)
一、编程题:215. 数组中的第K个最大元素(快速选择) 1.题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 LeetCode题目链接。 2.示例1: 输...

LeetCode刷题:数组快慢指针法
Hi! 我是 Yumuing,一个技术的敲钟人 每天分享技术文章,永远做技术的朝拜者 欢迎关注我的博客:Yumuing's blog 快慢指针法指的就是操作数组、链表及字符串等使用两个起点相同但前进步数不同的指针。相对于利用多次循环解决问题,快慢指针法的时间复杂度较低,执行效率高。对于快慢指针法根据题目可供调整的无非就为两点: 起点 前进步数 快慢指针法起点位...

LeetCode算法小抄--数组(双指针、差分数组、前缀和)
数组1、双指针双指针技巧主要分为两类:左右指针和快慢指针。快慢指针26. 删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组 nums 的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums ....

LeetCode每日一题(12)——按奇偶排序数组(双指针)
1.题目给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。2.示例示例 1:输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3]也会被视作正确答案。示例 2:输入:nums = [0]输出:[0]提示:1 <= nums.leng....
Leetcode --- 数组(双指针)
1.合并两个有序数组(88-易)题目描述:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例:输入:nums1 = [1,2,3,0,0,0], ....

【LeetCode26】删除排序数组中的重复项(双指针)
1.题目就地删除即不能辅助多余数组空间。2.法一:STL的unique法一:直接使用stl的vector的unique去重,该去重函数不是直接删除重复元素,而是将相邻且重复的元素放入到vector的尾部,然后返回指向第一个重复元素的迭代器,所以要用erase删除尾巴的那些重复元素再统计size。class Solution { public: int removeDuplicates(v...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。