描述
在一片广阔的草原上,有一群牛正在享受美味的青草。我们可以用一个升序排列的数组 nums 表示这群牛的位置(用整数表示)。由于草原太大,相同位置可能有多头牛,但是牧人希望得知这片草原上不同位置上有多少个牛群。所以他需要你去计算这片草原上不同位置的牛群有多少,并将数组修改为只包含这些不同的位置,且顺序保持一致,然后返回草原上在不同位置的牛群的数量。
示例1
输入:
[1, 1, 3, 3, 5, 6]
返回值:
4
思路
感觉这道题就是考数组去重,java中数组去重没有python那么方便,一行就能搞定,以下是网上的一些方案Java数组去重复的18种方法示例_java_脚本之家
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int remove_duplicates (int[] nums) {
int size = nums.length;
if (size == 0 || size == 1) return size;
int index = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[index - 1] != nums[i]) {
nums[index] = nums[i];
index++;
}
}
return index;
}
}