custom sorting -> number of swaps done to sort question on dynamic programming find all possible array when cosecutive diff of the array is given along with lower and upper bound.
Sigiloso
import java.util.*; public class ConsecutiveDifferenceArrays { public static List> generateArrays(int[] diffs, int lower, int upper) { List> results = new ArrayList(); int n = diffs.length + 1; // Precompute min and max prefix sum of diffs int minPrefix = 0, maxPrefix = 0, sum = 0; for (int d : diffs) { sum += d; minPrefix = Math.min(minPrefix, sum); maxPrefix = Math.max(maxPrefix, sum); } // Try all valid starting values for arr[0] for (int start = lower; start upper) continue; List temp = new ArrayList(); temp.add(start); int curr = start; for (int d : diffs) { curr += d; temp.add(curr); } // Check bounds boolean valid = true; for (int val : temp) { if (val upper) { valid = false; break; } } if (valid) results.add(temp); } return results; } public static void main(String[] args) { int[] diffs = {1, -2, 3}; int lower = 0, upper = 10; List> arrays = generateArrays(diffs, lower, upper); for (List arr : arrays) { System.out.println(arr); } } }