寻找Java向量的最小元素
Vector 实现了一个动态数组,这意味着它可以根据需要增长或缩小。像数组一样,它包含可以使用整数索引访问的组件。我们知道两种声明数组的方法,即使用固定大小的数组或大小根据用户的需求输入,根据在内存中分配哪个数组。
int Array_name[Fixed_size] ;
int array_name[variable_size] ;
在这两种方式中,我们都会浪费内存,因此为了正确利用内存优化,引入了Vectors 。
我们需要找出给定Java向量中的最小元素。
例子:
Input: [1,2,3,4,5]
Output: 1
Input: [88,23,76,90,56]
Output: 23
方法 1:使用预定义函数
- 为了找到给定向量的最小元素,我们使用Java.util.Collections.min() 方法。
- 这直接找到向量中的最小值。
Java
// Java program to find
// minimum 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.min(vec));
}
}
Java
// Java program to find minimum element
// present in Vector via comparison
import java.io.*;
// Importing Iterator Class
import java.util.Iterator;
// Importing Vector Class
import java.util.Vector;
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 max value possible
int minValue = Integer.MAX_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 smaller than minValue
if (element < minValue)
{
// Update maxValue
minValue = element;
}
}
// Print minVaue
System.out.println("The smallest element present in Vector is : "
+ minValue);
}
}
输出
Vector elements: [1, 2, 3, 4, 5]
The maximum element of the Vector is: 1
最坏情况时间复杂度:O(n) ,其中 n 是向量中存在的元素数。
方法 2:比较 Vector 中存在的每个元素
- 首先,我们将初始化一个向量,假设是 v,然后我们将在该向量中存储值。
- 接下来,我们将采用一个变量,让我们说minNumber并分配可能的最小值。
- 遍历到向量的末尾并将向量的每个元素与 minNumber 进行比较。
- 如果向量中存在的元素小于 minNumber,则将 minNumber 更新为该值。
- 打印 minNumber。
Java
// Java program to find minimum element
// present in Vector via comparison
import java.io.*;
// Importing Iterator Class
import java.util.Iterator;
// Importing Vector Class
import java.util.Vector;
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 max value possible
int minValue = Integer.MAX_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 smaller than minValue
if (element < minValue)
{
// Update maxValue
minValue = element;
}
}
// Print minVaue
System.out.println("The smallest element present in Vector is : "
+ minValue);
}
}
输出
The smallest element present in Vector is : 10
时间复杂度:O(n) ,其中 n 是向量中存在的元素数。