mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-13 16:15:31 +08:00
Add digit separation for large integers (#5543)
This commit is contained in:

committed by
GitHub

parent
de22158b80
commit
5cbdb475ee
@ -0,0 +1,40 @@
|
||||
package com.thealgorithms.greedyalgorithms;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class provides methods to separate the digits of a large positive number into a list.
|
||||
*/
|
||||
public class DigitSeparation {
|
||||
public DigitSeparation() {
|
||||
}
|
||||
/**
|
||||
* Separates the digits of a large positive number into a list in reverse order.
|
||||
* @param largeNumber The large number to separate digits from.
|
||||
* @return A list of digits in reverse order.
|
||||
*/
|
||||
public List<Long> digitSeparationReverseOrder(long largeNumber) {
|
||||
List<Long> result = new ArrayList<>();
|
||||
if (largeNumber != 0) {
|
||||
while (largeNumber != 0) {
|
||||
result.add(Math.abs(largeNumber % 10));
|
||||
largeNumber = largeNumber / 10;
|
||||
}
|
||||
} else {
|
||||
result.add(0L);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* Separates the digits of a large positive number into a list in forward order.
|
||||
* @param largeNumber The large number to separate digits from.
|
||||
* @return A list of digits in forward order.
|
||||
*/
|
||||
public List<Long> digitSeparationForwardOrder(long largeNumber) {
|
||||
List<Long> result = this.digitSeparationReverseOrder(largeNumber);
|
||||
Collections.reverse(result);
|
||||
return result;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user