寻找Java向量的最大元素
Vector 实现了一个动态数组,这意味着它可以根据需要增长或缩小。像数组一样,它包含可以使用整数索引访问的组件。我们知道两种声明数组的方法,即使用固定大小的数组或大小根据用户的需求输入,根据在内存中分配哪个数组。
int Array_name[Fixed_size] ;
int array_name[variable_size] ;
在这两种方式中,我们都会浪费内存,因此为了正确利用内存优化,引入了Vectors 。我们必须找出给定Java向量中的最大元素。
例子:
Input: [1,2,3,4,5]
Output: 5
Input: [88,23,76,90,56]
Output: 90
方法 1:使用预定义函数
- 为了找到给定向量的最小元素,我们使用Java.util.Collections.max() 方法。
- 这直接找到向量中的最大值。
Java
// Java program to find
// maximum element in java vector
import java.io.*;
import java.util.Collections;
import java.util.Vector;
public class GFG {
public static void main(String args[])
Vector vec = new Vector();
vec.add(1);
vec.add(2);
vec.add(3);
vec.add(4);
vec.add(5);
System.out.println("Vector elements: " + vec);
System.out.println("The maximum element of the Vector is: "
+ Collections.max(vec));
}
}
Java
// Java program to find largest element
// present in Vector via comparison
import java.io.*;
// Importing Vector Class
import java.util.Vector;
// Importing Iterator Class
import java.util.Iterator;
class GFG {
// Main Method
public static void main(String[] args)
{
// initializing vector of Integer type
Vector v = new Vector();
// Adding elements in vector
v.add(10);
v.add(20);
v.add(30);
v.add(40);
v.add(50);
// Assigning min value possible
int maxValue = Integer.MIN_VALUE;
// Creating an iterator to traverse through vector
// in the beginning itr will point to index just
// before first element
Iterator itr = v.iterator();
// See if there is any next element
while (itr.hasNext())
{
// Moving iterator to next element
int element = (Integer)itr.next();
// Comparing if element is larger than maxValue
if (element > maxValue)
{
// Update maxValue
maxValue = element;
}
}
// Print maxVaue
System.out.println( "The largest element present in Vector is : "
+ maxValue);
}
}
输出
Vector elements: [1, 2, 3, 4, 5]
The maximum element of the Vector is: 5
最坏情况时间复杂度:O(n) ,其中 n 是向量中存在的元素数。
方法 2:比较 Vector 中存在的每个元素
- 首先,我们将初始化一个向量,假设是 v,然后我们将在该向量中存储值。
- 接下来,我们将采用一个变量,让我们说maxNumber并分配可能的最大值。
- 遍历到向量的末尾并将向量的每个元素与 maxNumber 进行比较。
- 如果向量中存在的元素大于 maxNumber,则将 maxNumber 更新为该值。
- 打印 maxNumber。
Java
// Java program to find largest element
// present in Vector via comparison
import java.io.*;
// Importing Vector Class
import java.util.Vector;
// Importing Iterator Class
import java.util.Iterator;
class GFG {
// Main Method
public static void main(String[] args)
{
// initializing vector of Integer type
Vector v = new Vector();
// Adding elements in vector
v.add(10);
v.add(20);
v.add(30);
v.add(40);
v.add(50);
// Assigning min value possible
int maxValue = Integer.MIN_VALUE;
// Creating an iterator to traverse through vector
// in the beginning itr will point to index just
// before first element
Iterator itr = v.iterator();
// See if there is any next element
while (itr.hasNext())
{
// Moving iterator to next element
int element = (Integer)itr.next();
// Comparing if element is larger than maxValue
if (element > maxValue)
{
// Update maxValue
maxValue = element;
}
}
// Print maxVaue
System.out.println( "The largest element present in Vector is : "
+ maxValue);
}
}
输出
The largest element present in Vector is : 50
时间复杂度:O(n) ,其中 n 是向量中存在的元素数。