您的位置:首页 > 编程语言 > C#

LeetCode Online Judge 题目C# 练习 - Remove Element

2012-10-12 21:40 417 查看
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.

public static int RemoveElemtn(int[] A, int n, int elem)
{
for (int i = 0; i < n; i++)
{
if (A[i] == elem)
{
A[i] = A[n - 1];
n--;
i--;
}
}
return n;
}


代码分析:

  这个应该是考审题,或者面试官之给你题目第一句话,让你去问他的前设条件,他再给你题目的第二句话。

  应为题目说order可以变,new length以外的不管。那么就碰到 A[i] == elem, 把当前最后一个元素复制到A[i], 然后 长度 n--, i--(因为重后面复制上来的值可能会等于elem的,要重新审查一次这个 A[i]。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: