Class OneDimensionalData
java.lang.Object
io.openml.gearbox.algorithms.OneDimensionalData
When data can be process in 1-D space.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int[]getMaxSubArray(int[] array) Given an array of integers, returns a new array where each element is the overall maximum sum of any continuous subarray found within the prefix of the original array, from index 0 up to and including this element.static longinversionCountMergeSort(int[] nums, int left, int right) Returns the number of pairs of elements in a portion of an array that are out of order while sorting that portion on the way.
-
Constructor Details
-
OneDimensionalData
public OneDimensionalData()
-
-
Method Details
-
getMaxSubArray
public static int[] getMaxSubArray(int[] array) Given an array of integers, returns a new array where each element is the overall maximum sum of any continuous subarray found within the prefix of the original array, from index 0 up to and including this element.For example,
- given
[1, 3, -1, 2, -1, 2], returns[1, 4, 4, 5, 5, 6] - given
[-2, -5, -1, -8], returns[-2, -2, -1, -1] - given
[], returns[]
This is essentially the implementation of Kadane's algorithm which has various practical applications across different domains:
- Financial Analysis:
- Stock Market Analysis: Identifying the most profitable period to buy and sell a stock by analyzing daily price changes or profit/loss sequences. The algorithm can pinpoint the optimal time window for maximizing gains.
- Business Performance: Determining periods of maximum growth or profitability for a company by analyzing financial data like quarterly earnings or sales figures.
- Data Analysis and Optimization:
- Resource Management: Identifying periods of peak resource usage or optimal performance in systems.
- Budgeting and Financial Planning: Analyzing income and expense data to identify periods of maximum savings or highest disposable income.
- Parameters:
array- The original array of integers- Returns:
- the new array of maximum subarray sum ending at each position of the original array
- given
-
inversionCountMergeSort
public static long inversionCountMergeSort(int[] nums, int left, int right) Returns the number of pairs of elements in a portion of an array that are out of order while sorting that portion on the way.An inversion is a pair of indices (i,j) such that i invalid input: '<' j and array[i] > array[j].
- Parameters:
nums- The arrayleft- The left boundary of the portionright- The right boundary of the portion- Returns:
- The number of reverse pairs of the portion in the array
-