题目描述:
给定一个数组和一个值,删除该值的所有实例,并返回新的长度。
不要为另一个数组分配额外的空间,必须使用常量内存来执行此操作。
可以更改元素的顺序。没有什么你离开超出了新的长度。
示例:
给定输入数组nums = [3,2,2,3],val =3
您的函数应返回length = 2,num的前两个元素为2。
算法设计:
Arrays.sort(nums);
int i=0;
for(int j=0;j<nums.length;j++)
{
if(nums[j]!=val)
{
nums[i]=nums[j];
i++;
}
}
return i;
这是一个关于如何在不使用额外空间的情况下,通过原地修改数组删除指定值的问题。算法设计包括对数组进行排序,然后遍历并移除所有等于给定值的元素,返回新的有效元素数量。
771

被折叠的 条评论
为什么被折叠?



