题解 | #草原上的牛群分布#
草原上的牛群分布
https://www.nowcoder.com/practice/25752634aa444758843eed6ff227703a
知识点:数组 指针
思路:空间o1,那么时间就需要更多了,如果直接遍历开一个数组放进去,时间就是on,
但是空间o1,我们就需要将数组中后面的值全部前移动,时间复杂度o n*m,m是多出牛的个数
但是oj判断是需要返回n,就不花时间更改数组了, 没啥意义,
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int remove_duplicates_v3 (int[] nums) {
// write code here
if (nums.length == 0)
return 0;
int tmp = nums[0];//上一个数字
int cur = 1;
int count = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i] == tmp) {
if(cur <3)
count++;
} else {
tmp=nums[i];
count++;
cur = 0;
}
cur++;
}
return count;
}
}



