Java 寻找大于其左边元素的数组元素

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中寻找大于其所有左边元素的数组元素的不同方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程