N. DM N. DM - 4 years ago 86
Java Question

Find index of minimum value in each row in 2D Array in java

I need to get the index of the minimum value in each row in my 2D array (array [][]) in Java. MY array holds several floats I'm a beginner, so please don't hate me and help me. Thanks!

Answer Source

You could use an auxiliary method rowMinsIndex where you pass in in your two dimensional array like so:

import java.util.Arrays;

class Main {
  public static void main(String[] args) {
    int[][] twoDimensionalArray = new int[][]{
      { 1, 2, 5 },
      { 4, 3, 6 },
      { 7, 5, 9 }
    };

    System.out.println("The twoDimensionalArray is: " + Arrays.deepToString(twoDimensionalArray));
    int[] minsOfEachRow = rowMinsIndex(twoDimensionalArray);
    for(int i = 0; i < minsOfEachRow.length; i++) {
      System.out.println("The index of the minimum of row " + i + " is: " + minsOfEachRow[i]);
    }
  }

  public static int[] rowMinsIndex(int[][] nums) {
    int [] count = new int [nums.length];
    int [] minIndexes = new int [nums.length];
    Arrays.fill(count, Integer.MAX_VALUE);
    for(int i = 0; i < count.length; i++){
      for(int x = 0; x < nums[0].length; x++){
        if(nums[i][x] < count[i]){
          count[i] = nums[i][x];
          minIndexes[i] = x;
        }
      }
    }
    return minIndexes;
  }
}

Ouput:

The twoDimensionalArray is: [[1, 2, 5], [4, 3, 6], [7, 5, 9]]
The index of the minimum of row 0 is: 0
The index of the minimum of row 1 is: 1
The index of the minimum of row 2 is: 1

Try it here!

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download