Questions
Given an array nums and a value val, remove all instances of that value in-place and return the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
The order of elements can be changed. It doesn’t matter what you leave beyond the new length.
Example 1:
Given nums = [3,2,2,3], val = 3,
Your function should return length = 2, with the first two elements of nums being 2.
It doesn’t matter what you leave beyond the returned length.
Answer
class Solution {
public int removeElement(int[] nums, int val) {
int current_ind = 0;
for(int i =0;i<nums.length;i++){
if(nums[i] !=val){
nums[i]=nums[j];
current_ind++;
}
}
reuturn current_ind;
}
}
本文介绍了一种高效的算法,用于在不使用额外空间的情况下,从数组中移除所有指定值的实例,并返回修改后的长度。通过遍历和交换元素的方式,实现了O(1)的额外内存消耗要求。
339

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



