题解 | #草原上的牛群分布#
草原上的牛群分布
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; } }