×

Display Unique Rows in a Binary Matrix in Java

To solve this problem, we must first locate and display the distinct rows of a supplied binary matrix afterward. We will go through how to show distinct rows inside a binary matrix in Java. We will go through how to show distinct rows inside a binary matrix in Java.

Example:

1 0 1 0 1

1 0 0 0 1

1 0 1 0 1

1 1 1 0 0

1 1 0 0 1

Output

1 0 1 0 1

1 0 0 0 1

1 1 1 0 0

1 1 0 0 1

Explanation :

In the above example, the input contains the 5 rows; only some are distinct. In the 5*5 matrix, row 1 and throw 3 are the same. We can eliminate row 3.

Naïve Approach

The naive strategy is straightforward. Print the first rows first, and then verify to see if the back row matches the published row (first row). Print this second row if it doesn't match; trash it. Check this third row to see if it corresponds to the first and third displayed rows. Print this second row if it matches; if not, go to the next row. Apply the same methodology to the remaining rows.

Implementation Steps

The steps below mentioned are used in the process of implementation:

Step 1: Iterate over the matrix row-by-row.

Step 2: Determine if the new row matches the preceding.

Step 3: Else, don't publish the column headings if they match the previous rows.

Step 4: In the absence of it, highlight the current row.

Java Program for printing the distinct matrix rows

UniqueMatrix.java

// this program is for finding the unique rows in the Binary Matrix
//importing the required packages
import java.io.*;
import java.util.*;
public class UniqueMatrix  
{  
//  method for defining the unique rows in the given matrix  
public void printdistinctRows(int matrixs[][], int rows, int cl)  
{  
    //  iterating over the matrix  
    for(int j = 0; j < rows; j++)  
    {  
        // There are only two possible values for is unique: 0 and 1.
        //If the row is distinct, 
        //it has a value of 1, else it has a value of 0.
        int ishaveUnqiue = 0;  
        // jth and ith columns must match to 
        //determine whether p previously showed the identical column.
        for(int i = 0; i < j; i++)  
        {  
            ishaveUnqiue = 0;   
            for(int k = 0; k < cl; k++)  
            {  
                if (matrixs[j][k] != matrixs[i][k])  
                {  
                    ishaveUnqiue = 1;  
                }  
            }  
            if (ishaveUnqiue == 0)  
                break;  
        }   
        //If either of the rows is the initial 
        //row, or perhaps the row is distinct 
        if (ishaveUnqiue == 1 || j == 0)  
        {  
            // the rows were displayed  
            for(int p = 0; p < cl; p++)  
            {  
                System.out.print(matrixs[j][p] + " ");  
            }  
            System.out.println();  
        }  
    }  
}  
// main section of the program  
public static void main(String argvs[])  
{  
// an object ob was created for the  class UniqueMatrix 
UniqueMatrix ob = new UniqueMatrix();  
  
//  the user input matrix will be given  
int matrixs[][] = { { 0, 1, 1, 1, 0 },  
                  { 1, 1, 0, 1, 1 },  
                  { 0, 1, 1, 1, 1 },  
                  { 0, 1, 1, 1, 0 },  
                  { 0, 0, 1, 1, 1 }  
                };  
   
//  finding the row length in the given matrix           
int rows = matrixs.length;  
  
// finding the length of the column in the given matrix  
int cl = matrixs[0].length;  
System. out.println(" The given matrix is: ");  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(matrixs[i][j] + " ");  
}  
System.out.println();  
}  
System.out.println();  
System.out.println(" The distinct rows in the matrix are : ");  
ob.printdistinctRows(matrixs, rows, cl);  
System.out.println("\n");  
// input binary matrix  
int matrixs1[][] = { { 1, 1, 1, 0 },  
                  { 1, 0, 1, 1 },  
                  { 1, 0, 1, 0 },  
                  { 1, 1, 1, 1 }  
                };  
// finding the row length in the given matrix      
rows = matrixs1.length;  
// finding the length of the column in the given matrix 
cl = matrixs1[0].length;  
System.out.println(" The given matrix is: ");  
  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(matrixs1[i][j] + " ");  
}  
System.out.println();  
}  
System.out.println();  
System.out.println(" The distinct rows in the matrix are :");  
ob.printdistinctRows(matrixs1, rows, cl);  
 }  
}  

Output

The given matrix is: 
0 1 1 1 0 
1 1 0 1 1 
0 1 1 1 1 
0 1 1 1 0 
0 0 1 1 1 


 The distinct rows in the matrix are : 
0 1 1 1 0 
1 1 0 1 1 
0 1 1 1 1 
0 0 1 1 1 




 The given matrix is: 
1 1 1 0 
1 0 1 1 
1 0 1 0 
1 1 1 1 


 The distinct rows in the matrix are :
1 1 1 0 
1 0 1 1 
1 0 1 0 
1 1 1 1 

Time Complexity: Inside the software mentioned above, we compare each row to the row that came before it to determine whether or not they are unique. Inside the row comparison, we must determine whether or not each component of one row equals that of the opposite row (column size). Since R is the total number of consecutive rows in the matrices and C is the maximum number of rows in the matrix, the running time of the algorithm mentioned above is O(R2 x C). The preceding system's space complexity is equal and constant because we do not access any supplementary arrays O(1).

If we look closely at the program described above, we'll see that many of the problem instances have been solved several times, which is what causes the exponential computation time.

Binary Search Tree as a method

Making each row's decimals equal and inserting them into the tree of binary searches is the initial step in this method. Remember that every node of the binary tree retrieves fields: one that contains the discrete number and another for the previous row.

Adopting Procedures

These procedures are needed to put the binary search tree technique into practice.

  • The first step is to ensure that no identical nodes are stored in the Binary Search Tree.
  • Create a function in step two to convert a row to a decimal number and to convert a numerical number to a binary array.
  • The third step is to iterate through the input sequence and add the row to the search tree.
  • The fourth step is to Convert the decimals into the digital array and show the results after doing an in-order traverse of the Binary Tree.

Example: UniqueMatrix1.java

// this program is for finding the unique rows in the Binary Matrix
//importing the required packages
import java.util.*;  
public class UniqueMatrix1  
{  
  
  static class BS  
  {  
    int va;  
    BS lts, rts;  
    BS(int va)  
    {  
      this.va = va;  
      this.lts = this.rts = null;  
    }  
  }  
  
  
  //  an array arr is converted to the decimal
  static int convertArray(int arr[], int Ct)  
  {  
    int st = 0;  
   
    for(int j = 0; j < Ct; j++)  
    {  
      st += Math.pow(2, j) * arr[j];  
    }  
      
    return st;  
  }  
   
  // in the matrix the column with integer values is printed
  static void print(int pt, int Ct)  
  {  
    for(int j = 0; j < Ct; j++)  
    {  
      System.out.print(pt % 2 + " ");  
      pt = pt / 2;  
    }  
    System.out.println();  
  }  
   
   
   
  // method that defines the insert.  
  static BS Insert(BS rts, int va)  
  {  
    if(rts == null)  
    {  
      //  the condition that the root node is null or not.  
      return new BS(va);  
    }  
   
    // the variable va is checked with the current variable
    if(va == rts.va)  
    {  
      return rts;  
    }  
   
    //  the information is then appended to the matrix
    if(va > rts.va)  
    {  
      //If the "value" that must place is greater than
      //the "rts" branch value, should place the correct node. 
      //Handling all appropriate nodes  
      rts.rts = Insert(rts.rts,va);  
    }  
    else  
    {  
      //If the "va" that needs to be entered is greater than
      //the "rts" node value, the left node data is entered. 
     //Dealing with the left node.  
      rts.lts = Insert(rts.lts, va);  
    }  
    // the node rts is returned after the insertion process
    return rts;  
  }  
   
  // the inorder way of the traversing will give the 
  // order of the nodes
  static void Inorder(BS rts, int Ct)  
  {  
    if(rts == null)  
    {  
      return;  
    }  
    Inorder(rts.lts, Ct);  
    print( rts.va, Ct);  
    Inorder(rts.rts, Ct);  
  }  
   
  //  the method for printing all the distib=nct rows in the matrix  
  static void printDistinctRows(int matrix[][], int Row, int Cl)  
  {  
   
    BS b, rts = null;  
   
    // Traversing the matrix  
    for(int j = 0; j < Row; j++)  
    {  
      // the values for the row elements are inserted
      rts = Insert(rts, convert arrays(matrix[j], Cl));  
    }  
    // printing the result
    Inorder(rts, Cl);  
   
  }  
// main section of the program 
public static void main(String argvs[])  
{  
// an object obj is created for the class UniqueMatrix1 
UniqueMatrix1 obj = new UniqueMatrix1();  
  
//  the user input arry matrix  
int maxtrix[][] = { { 1, 1, 0, 0, 0 },  
                  { 1, 0, 1, 0, 1 },  
                  { 0, 1, 1, 0, 1 },  
                  { 0, 0, 1, 1, 0 },  
                  { 1, 1, 0, 0, 0 }  
                };  
   
//  the length of the rows in the matrix          
int rows = maxtrix.length;  
//  the length of the columns in the matrix
int cl = maxtrix[0].length;  
  
System. out.println(" The given matrix is : ");  
  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(maxtrix[i][j] + " ");  
}  
System.out.println();  
}  
  
System.out.println();  
System.out.println(" the distinct rows in the matrix : ");  
obj.printDistinctRows(maxtrix, rows, cl);   
System.out.println("\n");  
// the user input arry matrix 
int matrix1[][] = { { 1, 1, 1, 0 },  
                  { 0, 1, 0, 0 },  
                  { 0, 1, 0, 0 },  
                  { 1, 0, 1, 1 }  
                };  
//  the length of the rows in the matrix    
rows = matrix1.length;  
  
//  the length of the columns in the matrix 
cl = matrix1[0].length;  
  
System.out.println("The given matrix is :");  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(matrix1[i][j] + " ");  
}  
System.out.println();  
}  
System.out.println();  
System.out.println("the distinct rows in the matrix: ");  
obj.printDistinctRows(matrix1, rows, cl);  
}  
}  

Output

The given matrix is : 
1 1 0 0 0 
1 0 1 0 1 
0 1 1 0 1 
0 0 1 1 0 
1 1 0 0 0 


 the distinct rows in the matrix : 
1 1 0 0 0 
0 0 1 1 0 
1 0 1 0 1 
0 1 1 0 1 




The given matrix is :
1 1 1 0 
0 1 0 0 
0 1 0 0 
1 0 1 1 


the distinct rows in the matrix: 
0 1 0 0 
1 1 1 0 
1 0 1 1 

Complexity Analysis:

The temporal complexity of the program above, which traverses every row and column of both the matrix, is O(R * C). The binary search arrays are stored in the program's supplemental space, which results in a space complexity of O(R), in which R seems to be the source matrix's row length, and C is its column length. Additionally, putting a row inside the binary search tree has an O time complexity (R). The time required for insertion is R * O(log(R)) because we add every row individually. As just a result, the program described above has an O(R * C + R * (log(R))) time complexity.

TRIE Method

Regarding data recovery efficiency, we are aware of the TRIE data model. We can reduce the search's complexity by using the TRIE data structure.

We will use the TRIE database schema to locate the unique rows inside this method. Given that the data matrices is a binary matrices binary, we shall slightly modify our TRIE data structure by ensuring that each node has 2 kids, including one for 1 and another for 0. This is because we already know that such an input matrix is a binary matrix.

Steps for Execution

Construct a TRIE data structure using step 1 to store each row.

Step 2: Iterate over every row and add it to the TRIE data structure built in Step 1. The TRIE data structure is unaffected by traversing the duplication row to add it because the TRIE can never have any data duplication. The distinct rows are, therefore, those that are retained in the TRIE after traversing each row of the input matrix.

Step 3: Browse the rows of the TRIE data structure.

The below program is on the implementation of the TRIE method.

UniqueMatrix2.java

// this program is for finding the unique rows in the Binary Matrix
//importing the required packages
public class UniqueMatrix2 {  
    //  the value of the count is 2  
    static final int CN = 2;  
      
    // trie node  
    static class TNodes  
    {  
        TNodes[] childrens= new TNodes[CN];  
      
        // If and just if the node depicts the conclusion of both rows, 
        //therefore isEndOfRow is false.
        boolean isEndOfRows;  
          
        TNodes(){  
            isEndOfRows = false;  
            for (int j = 0; j < CN; j++)  
                childrens[j] = null;  
        }  
    };  
    static TNodes rts;  
    // Implants key to tuple if not already there 
    //Just label the tree structure if indeed 
    // the value is indeed the trie datatype prefix.
    static boolean insert(int rows[])  
    {  
        int lv;  
        int sizes = rows.length;  
        int id;  
  
        TNodes pCrawl = rts;  
          
        boolean isUniques = false;  
        //There are two directions we may go from each node: 
        //the first is to follow all 1s, while the other is to follow the zeros. 
        //Whatever we do is determined by the row's occurrence frequency. array[].  
        for (lv = 0; lv < sizes; lv++)  
        {  
            // idx will always be 0 and 1  
            id = rows[lv];  
            //The TRIE is caused by this if statement to 
            //discard the unnecessary rows. 
            //The if statement determines whether or not the path has already been traveled. 
            //If so, no new 
            //nodes are formed. A node is formed if the path also isn't traversed.
            if (pCrawl.childrens[id] == null)  
            {  
                pCrawl.childrens[id] = new TNodes();  
                isUniques = true;  
            }  
            pCrawl = pCrawl.childrens[id];  
        }  
        // marking the last node as the leaf node  
        pCrawl.isEndOfRows = true;  
        return isUniques;  
    }  
      
    // A utility method for displaying the unique rows  
    void displayRows(int input[][], int rows)  
    {  
        int j;  
        int colSizes = input[0].length;  
        for(j = 0; j < colSizes; ++j)  
        {  
            System.out.print(input[rows][j] + " ");  
        }  
        System.out.println();  
    }  
    //it is the function that main() function is invoking.
    //The procedure calls the displayRow() function after removing the distinct 
    //columns from the input sequence.
    void filterAndPrintUniqueRows(int input[][], int Row, int Ct)  
    {  
        rts = new TNodes(); // creating an empty Trie  
        int j;  
       
        // Iterating through all of the rows  
        for (j = 0; j < Row; ++j)  
           
            // inserting a row into the TRIE  
            if (insert(input[j]))  
            {  
                // a unique row is found, display it  
                displayRows(input, j);  
            }  
    }  
      
    // main method  
public static void main(String argvs[])  
{  
//creating an object of the class UniqueRowsMatrix2  
UniqueMatrix2 ob = new UniqueMatrix2();  
  
// input binary matrix  
int maxtrix[][] = { { 1, 1, 1, 0, 0 },  
                  { 1, 1, 0, 0, 1 },  
                  { 1, 1, 1, 0, 1 },  
                  { 0, 1, 0, 1, 0 },  
                  { 1, 0, 1, 1, 0 }  
                };  
   
//  finding the length of the matrix  rows         
int rows = maxtrix.length;  
  
// finding the number of rows 
int cl = maxtrix[0].length;  
  
  
System.out.println(" The given matrix is: ");  
  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(maxtrix[i][j] + " ");  
}  
System.out.println();  
}  
System.out.println();  
System.out.println(" the distinct rows are: ");  
ob.filterAndPrintUniqueRows(maxtrix, rows, cl);  
   
System.out.println("\n");  
  
  
// input binary matrix  
int matrix1[][] = { { 0, 1, 1, 0 },  
                  { 1, 0, 1, 0 },  
                  { 0, 1, 1, 0 },  
                  { 1, 0, 0, 1 }  
                };  
   
// the number of rows in the matrix            
rows = matrix1.length;  
  
// the number of columns in the matrix 
cl = matrix1[0].length;  
  
  
System.out.println("The given matrix is:");  
  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(matrix1[i][j] + " ");  
}  
System.out.println();  
}  
  
System.out.println();  
System.out.println("the distinct rows are:");  
ob.filterAndPrintUniqueRows(matrix1, rows, cl);  
}  
}  

Output

 The given matrix is: 
1 1 1 0 0 
1 1 0 0 1 
1 1 1 0 1 
0 1 0 1 0 
1 0 1 1 0 


 the distinct rows are: 
1 1 1 0 0 
1 1 0 0 1 
1 1 1 0 1 
0 1 0 1 0 
1 0 1 1 0 




The given matrix is:
0 1 1 0 
1 0 1 0 
0 1 1 0 
1 0 0 1 


the distinct rows are:
0 1 1 0 
1 0 1 0 
1 0 0 1 

Complexity Analysis: The program's running time above is O(R * C) since it traverses every row and column of the matrix. The TRIE data structure is stored in additional space within the program, resulting in a space complexity of O(R * C), whereby R is the source matrix's rows size & C is its column length.

Using The HashSet

We will utilize the HashSet data structure to identify the distinct rows in this method. We know that the HashSet data structure implements the Set interface. As a result, the HashSet cannot include any data duplication. The method entails converting each hashing set row to something like a string and inserting it into the hashing set.

Execution Procedures

  • To store the row, start by creating a HashSet data structure.
  • Iterate thru every row and add it to the hash data structure you constructed in Step 1. Since identical entries cannot exist in a hashing set, traversing an identical row to add it to the hashing set does not affect the database structure. As a result, the distinct rows are present in the HashSet before traversing every row of the input sequence. Observe that must convert the rows into the String before being inserted into the HashSet.
  • Navigate through the HashSet data model and show the columns.

UniqueMatrix3.java

// this program is for finding the unique rows in the Binary Matrix
//importing the required packages
import java.util.HashSet;  
public class UniqueMatrix3 {  
    public void filterAndPrintUniqueRows(int input[][], int Row, int Cl)  
    {  
        //implementing the HashSet class
        HashSet<String> hss = new HashSet<String>();  
           
        for(int j = 0; j < Row; j++)  
        {  
            // for storing the strings produced from either the input matrix's row
            String strs = "";  
               
               
            // in the iteration, the string is then converted to an integer 
            for(int i = 0; i < Cl; i++)  
            {  
                strs = strs + String.valueOf(input[j][i]);  
            }  
              
              
            if(!hss.contains(strs))   
            {  
                hss.add(strs);  
                  
                int sizes = strs.length();  
                  
                //  the result contains unique rows
                for(int i = 0; i < sizes; i++)  
                {  
                    System.out.print(strs.charAt(i) + " ");  
                }  
                  
                System.out.println();  
                   
            }  
        }  
    }  
      
    // main section of the program 
public static void main(String argvs[])  
{  
// an object ob is creadted for the classUniqueMatrix3
UniqueMatrix3 ob = new UniqueMatrix3();  
  
//  user array as the input
int maxtrix[][] = { { 1, 1, 1, 0, 1 },  
                  { 0, 0, 0, 1, 0 },  
                  { 0, 0, 1, 1, 0 },  
                  { 1, 1, 1, 0, 0 },  
                  { 0, 0, 1, 0, 0 }  
                };  
   
//   the number of rows in the given matrix            
int rows = maxtrix.length;  
  
// the number of columns in the given matrix          
int cl = maxtrix[0].length;  
  
  
System.out.println(" In the matrix given:");  
  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(maxtrix[i][j] + " ");  
}  
System.out.println();  
} 
System.out.println();  
System.out.println("The distinct rows in the matrix : ");  
ob.filterAndPrintUniqueRows(maxtrix, rows, cl);  
System.out.println("\n");  
// user array 2-d as the binary matrix 
int matrix1[][] = { { 1, 0, 0, 1 },  
                  { 0, 1, 0, 0 },  
                  { 0, 1, 1, 1 },  
                  { 0, 1, 0, 0 }  
                };  
   
// the number of rows in the given matrix            
rows = matrix1.length;  
// the number of columns in the given matrix  
cl = matrix1[0].length;  
  
  
System.out.println(" In the matrix given:");  
for(int i = 0; i < rows; i++)  
{  
for(int j = 0; j < cl; j++)  
{  
System.out.print(matrix1[i][j] + " ");  
}  
System.out.println();  
}  
System.out.println();  
System.out.println("The distinct rows in the matrix : ");  
ob.filterAndPrintUniqueRows(matrix1, rows, cl);    
}  
}  

Output

 In the matrix given:
1 1 1 0 1 
0 0 0 1 0 
0 0 1 1 0 
1 1 1 0 0 
0 0 1 0 0 


The distinct rows in the matrix : 
1 1 1 0 1 
0 0 0 1 0 
0 0 1 1 0 
1 1 1 0 0 
0 0 1 0 0 




 In the matrix given:
1 0 0 1 
0 1 0 0 
0 1 1 1 
0 1 0 0 


The distinct rows in the matrix : 
1 0 0 1 
0 1 0 0 
0 1 1 1 

Complexity Analysis: The temporal complexity of a previous program, which traverses every row and column of the matrices, is O(R * C). This program uses the supplementary space for storing the Hashing data structure, resulting in a space complexity of O(R * C), wherein R is the source matrix's rows size, and Cl is its column number.


Related Topics

Java Math ulp() Method

The ulp() method of Java Math class returns the size of an ulp of the argument. Syntax: public static double ulp(double x)public static float ulp(float x) Parameters: The parameter ‘x’ represents the floating-point number...

2 minutes read.

Java Imageio

The javax.imageio package contains the final class known as Java ImageIO. For easy image reading, writing, and simple encoding and decoding, the class offers a convenient way. The class offers...

4 minutes read.

Streams in Java

The conventional Java SE 8 version came with many new peculiarities, out of which the most striking of which are assuredly lambda expressions and the method references. Streams and Streams...

14 minutes read.

Java LinkedHashMap

LinkedHashMap implements the Map interface. It inherits the HashMap class. Some essential features of LinkedHashMap are: It contains the values based on the keys. It maintains the order of insertion. It contains unique...

5 minutes read.

Java TreeMap

TreeMap in Java with Example Java TreeMap implements the NavigableMap interface. It extends Map Interface. Java TreeMap is based on the red-black Tree implementation. It stores the key-value pair in sorted...

7 minutes read.

Character Array in Java

A character array is an array which holds values of character data types. It is different from a string array. The character array, string, and StringBuffer classes in the Java...

4 minutes read.

Java vs Golang

Java Java is both a programming language and a platform. Java is a high-level, dependable, object-oriented, and secure programming language. Java was developed in 1995 by Sun Microsystems, which is now an...

4 minutes read.

Java HashSet

HashSet implements the set interface. It uses the hash table to make the collection to store different data types. The hash set is the unordered collection of different data types....

6 minutes read.

Java Math nextDown() Method

The nextDown() method of Math class returns the floating-point number adjacent to the argument in direction of the negative infinity. Syntax: public static double nextDown (double d)public static float nextDown (float f) Parameters: The...

2 minutes read.

Arrow Operator in Java

The introduction of arrow functions in ES6 gives you a more precise approach to define JavaScript functions. We can write shorter function syntax thanks to them. Your code will be...

4 minutes read.

Creating API Document Javadoc tool

The JavaDoc utility is a document generator tool written in Java that generates standard documentation in HTML format. It parses declarations and documentation in a source file collection that describes...

3 minutes read.

Grepcode Java util date

What is java.util.Date Class? The date and time in Java are provided through the java.util.Date class. If you imported java.util, it could be helpful. Use the Java.util.Date class to implement this class...

4 minutes read.

Annotations in Java

Annotations in Java Java Annotations are metadata about the source code. They do not have any direct effect on the execution of the java program. Annotations in Java were introduced in...

4 minutes read.

Java Math copySign() Method

The copySign() method of Math class returns the first floating-point argument with the sign of the second argument. Syntax: public static float copySign(float magnitude, float sign)public static double copySign(double magnitude, double sign) Parameters: The...

1 minute read.

How to run Java Program in Eclipse

How to run Java Program in Eclipse In this section, we will learn how to write, save, compile, and execute or run a Java program in Eclipse. Eclipse is one of...

2 minutes read.

Sorting Program in Java

Sorting Program in Java: The sorting program in Java is used to sort arrays either in ascending or descending order.  There are two predefined methods available in Java that are...

6 minutes read.

Java HashMap

Java HashMap extends AbstractMap and implements Map interface. It is the collection of multiple entries where an entry consists of key and value pair. The HashMap can contain only one...

7 minutes read.

Untouchable Number in Java

If a number N cannot be divided properly by any positive number, it is said to be an untouchable number. Additionally known as nonaliquot numbers. The sequence is A005114 from...

3 minutes read.

Java Math hypot() Method

The hypot() method of Math class returns the square root for the expression x2 + y2 without the intermediate underflow or overflow . Syntax: public static double hypot(double x, double y) Parameters: The parameters...

2 minutes read.

nth Prime Number in Java

A number is considered prime if only divisible by one and itself. Prime numbers include, for example, 2, 3, 5, 7, 11, etc. In looking at it another way, a...

5 minutes read.