Java 寻找大于其左边元素的数组元素
数组是一种线性数据结构,其中的元素被存储在连续的内存位置。
根据问题陈述,我们给出了一个带有一些随机整数值的数组,我们必须使用Java编程语言找出大于其所有左边元素的数字。
让我们开始吧!
向你展示一些实例
实例-1
给定数组= [1, 2, -3, -4, 0, 5]。
大于其所有左边元素的数字=2, 5
实例-2
给定数组= [-1, 0, 4, 6, 8, -5].
大于其所有左边元素的数字=0, 4, 6, 8
实例-3
给定数组= [-2, 3, -9, 12, 0, -7].
大于其所有左边元素的数字=3, 12
算法
第1步 - 通过静态输入法声明一个带有一些随机整数值的数组。
第2步 -采取for循环来迭代所有的元素,其中我们检查目前的数字是否大于其所有的左边元素。
第 3步 - 如果我们发现现在的数字是所有左边元素中较大的一个,那么打印这个数字并进行下一步检查。
第4步 - 如果我们在数组中没有得到任何较大的数值,那么我们就打印为 “N/A”。
语法
要获得一个数组的长度(数组中的元素数),数组有一个内置的属性,即 长度。
下面是它的语法
array.length
其中,’数组’指的是数组引用。
多种方法
我们提供了不同方法的解决方案。
- 不使用用户定义的方法
-
使用用户定义的方法
让我们逐一看看这个程序及其输出。
方法1:不使用用户定义的方法
在这个方法中,我们用一些随机的整数值声明一个数组,通过使用我们的算法,我们找到目前的数字大于它的所有左边的元素,并打印这个数字作为输出。
例子
public class Main {
public static void main (String[ ] args){
//declare the first integer type array and store some random integer values
int inputArray[] = { 1,2,3,8,5};
//if no greater element present in Array
int count = 0;
//output line
System.out.println("Array elements which are greater than its all left element:");
//initiate the loop to find the greater elements
for (int i = inputArray.length - 1; i > 0; i--){
int flag = 0;
for (int j = i - 1; j >= 0; j--){
if (inputArray[i] <= inputArray[j]){
flag = 1;
break;
}
}
if (flag == 0)
System.out.print(inputArray[i] + " ");
count+=1;
}
//if no greater value detected
if(count==0){
//print not available as output
System.out.print(" N/A ");
}
System.out.print("\n");
}
}
输出
Array elements which are greater than its all left element:
8 3 2
方法-2:使用用户定义的方法
在这种方法中,我们用一些随机的整数值声明一个数组,并将该数组和该数组的长度作为参数传递给用户定义的方法,在用户定义的方法中使用算法,找到目前的数字大于其所有左边的元素,并打印该数字作为输出。
例子
public class Main {
public static void main (String[ ] args){
//declare the array and initialize it with integer values
int inputArray1[] = { 132, 145, 12,-121, 765};
//call the user-defined method and pass the array with its length
greaterThanLeft(inputArray1,inputArray1.length);
}
//user defined method
public static void greaterThanLeft (int[] arr,int n){
//declare an integer value for counting the greater elements
int count = 0;
//output line
System.out.println("Array elements which are greater than its all left element:");
//take a for loop to iterate and find the greater elements
for (int i = n - 1; i > 0; i--){
int flag = 0;
for (int j = i - 1; j >= 0; j--){
if (arr[i] <= arr[j]){
flag = 1;
break;
}
}
if (flag == 0)
System.out.print(arr[i] + " ");
count+=1;
}
//if no greater value detected
if(count==0){
//print not available as output
System.out.print(" N/A ");
}
System.out.print("\n");
}
}
输出
Array elements which are greater than its all left element:
765 145
在这篇文章中,我们探讨了在Java中寻找大于其所有左边元素的数组元素的不同方法。