Java 怎样删除一维数组中值为M的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 怎样删除一维数组中值为M的元素相关的知识,希望对你有一定的参考价值。
参考技术A 数组操作一般我不认为直接用数据操作,使用List<Object>
arrayList
=
new
ArrayList<Object>();
boolean
arrayList.remove(Object
o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
数组迭代,Object的对象equals方法需要自己写一个覆盖方法.
希望能够帮助到你.
TOJ-5395 大于中值的边界元素
描述
给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数。这里的“中值”定义为一个元素序列中:
(1)当元素个数为奇数时,即为中间大的元素;
(2)当元素个数为偶数时,为中间大的两个元素的平均值。
输入
第一行为两个元素n和m,表示二维数组的行数和列数。
接下来又n行,每行m个整数,表示数组元素值。
1<=n,m<=100。
输出
输出大于中值的元素个数。
样例输入
3 3
1 2 3
2 3 1
4 1 5
样例输出
3
提示
中值为2,因此边界元素中大于2的元素个数为3个。
代码测试:
#include<iostream> #include<algorithm> #include<vector> using namespace std; int main(){ vector<vector<int> > v1; vector<int> v2; int n,m; cin>>n>>m; for(int i=0;i<n;i++){ vector<int> p; for(int j=0;j<m;j++){ int a; cin>>a; p.push_back(a); v2.push_back(a); } v1.push_back(p); } sort(v2.begin(),v2.end()); int num; if(n*m%2!=0) num=v2[n*m/2]; else num=(v2[n*m/2]+v2[n*m/2+1])*1.0/2; int cnt=0; for(int i=0;i<v1.size();i++){ for(int j=0;j<v1[i].size();j++){ if(i==0||j==0||i==v1.size()-1||j==v1[i].size()-1){ if(v1[i][j]>num) cnt++; } } } cout<<cnt<<endl; }
以上是关于Java 怎样删除一维数组中值为M的元素的主要内容,如果未能解决你的问题,请参考以下文章