题解 | #草原上的牛群#
草原上的牛群
https://www.nowcoder.com/practice/0661aa40ac8e48f4906df7aa24c3db90
题目考察的知识点 : 双指针,数组
题目解答方法的文字分析:
定义两个指针,一个指向当前要处理的元素,一个指向下一个要放置元素的位置
遍历数组根据条件处理即可
本题解析所用的编程语言: java
import java.util.*;
public class Solution {
/**
* 计算草原上不同位置的牛群数量,并修改数组为只包含这些不同位置的牛群位置并保持顺序
*
* @param nums int整型一维数组,表示牛的位置坐标数组
* @return int整型,草原上不同位置的牛群数量
*/
public int remove_duplicates(int[] nums) {
int n = nums.length;
int i = 0; // 指向当前要处理的元素
int j = 0; // 指向下一个要放置元素的位置
while (i < n) {
// 如果当前元素与上一个元素不相同,则将其放置到 nums[j] 的位置,并将 j 的值加1
if (i == 0 || nums[i] != nums[i - 1]) {
nums[j] = nums[i];
j++;
}
i++;
}
return j;
}
}