【元素移除】
给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度。
如:A[] = {1, 2, 3, 4, 5}A[]=1,2,3,4,5,要删除数字 33,那么返回数组长度为 44。
亲爱的小伙伴们,题目是不是很简单呢?
提示:int removeElement(int A[], int n, int elem)
其中,n代表数组长度,elem代表要删掉的元素。
输入格式
第一行输入一个数 n(1≤n≤100),接下来一行 n 个整数,表示数组 A 的所有元素 Ai (0≤ Ai ≤100),接着输入要删除的元素 elem(0≤elem≤100)。
输出格式
输出一个整数,表示剩余数组长度。
Java
import java.util.Scanner;
public class Main {
public static int removeElement(int A[], int n, int elem) {
int len = n;
for(int i = 0;i < n;i++){
if(A[i] == elem){
len--;
}
}
return len;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[]a = new int[n];
for(int i = 0;i < n;i++){
a[i] = input.nextInt();
}
int b = input.nextInt();
System.out.print(removeElement(a,n,b));
}
}
Python
def removerElement(a,n,elem):
#n = int(input())
#a = [int(n) for n in input().split()]
#elem = int(input())
"""l = len(a)
for _ in range(l):
a.remove(elem)
print(len(a))"""
print(len(a)-a.count(elem))
n = int(input())
a = [int(n) for n in input().split()]
elem = int(input())
removerElement(a,n,elem)