html5公司网站欣赏,南宁网络推广,网络推广建议,亚翔建设集团有限公司网站这是关于一个普通双非本科大一学生的C的学习记录贴
在此前#xff0c;我学了一点点C语言还有简单的数据结构#xff0c;如果有小伙伴想和我一起学习的#xff0c;可以私信我交流分享学习资料
那么开启正题
今天分享的是关于vector的题目
1.删除有序数组中的重复项
26. …这是关于一个普通双非本科大一学生的C的学习记录贴
在此前我学了一点点C语言还有简单的数据结构如果有小伙伴想和我一起学习的可以私信我交流分享学习资料
那么开启正题
今天分享的是关于vector的题目
1.删除有序数组中的重复项
26. 删除有序数组中的重复项
给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过
更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k
思路用双指针遍历数组如果快指针和慢指针的值一样那么删除快指针对应的值否则对它们进行进行迭代进入下一步排查直到数组遍历完成
class Solution {
public:int removeDuplicates(vectorint nums) {int slow 0;int fast 1;while(fast nums.size()){if(nums[slow] nums[fast]){nums.erase(nums.begin() fast);}else{slow;fast;}}return nums.size();}
}; 这是ac代码
今天的博客就到这里了后续内容明天分享,最近因为考试周原因不能更新太多内容,等考试周结束了再快马加鞭
新手第一次写博客有不对的位置希望大佬们能够指出也谢谢大家能看到这里让我们一起学习进步吧