题解 | #草原上的牛群#
草原上的牛群
https://www.nowcoder.com/practice/0661aa40ac8e48f4906df7aa24c3db90
考察知识点:数组、双指针
题目分析:
将有序数组删掉重复的元素,可以遍历一遍数组,用指针j指向下一个满足条件要保存下来的值。当i指针指向第一个数,或者前一个数与现在的数不相同时满足条件。
因为不满足条件时j就不会向右移动,j指针总是比i指针慢,j指针之前的数都是满足条件的数,j的值就是最终结果(0 ~ j - 1共j个数)
所用编程语言:C++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int remove_duplicates(vector<int>& nums) {
// write code here
//就是除去相同的元素
int i = 0, j = 0;
int size = nums.size();
for (int i = 0; i < size; i++) {
if (i == 0 || nums[i - 1] != nums[i]) {
nums[j] = nums[i];
j++;
}
}
return j;
}
};
腾讯云智研发成长空间 838人发布

