• + 0 comments

    Java-8 solution

    public static int minimumLoss(List prices) { int n = prices.size(); Map indexMap = new HashMap<>(); for (int i = 0; i < n; i++) { indexMap.put(prices.get(i), i); }

    List<Long> sorted = new ArrayList<>(prices);
    Collections.sort(sorted, Collections.reverseOrder());
    
    long minLoss = Long.MAX_VALUE;
    for (int i = 0; i < n - 1; i++) {
        long higher = sorted.get(i);
        long lower = sorted.get(i + 1);
        if (indexMap.get(higher) < indexMap.get(lower)) {
            minLoss = Math.min(minLoss, higher - lower);
        }
    }
    
    return (int) minLoss;
    

    }