• + 0 comments

    Java:

        public static long candies(int n, List<Integer> arr) {
            long[] candies = new long[n];
            Arrays.fill(candies, 1);
            // Left to right
            for (int i=1; i<n; i++) {
                if (arr.get(i)>arr.get(i-1)) {
                    candies[i] = candies[i-1]+1;
                }
            }
            // Right to left
            for (int i=n-2; i>=0; i--) {
                if (arr.get(i)>arr.get(i+1)) {
                    candies[i] = Math.max(candies[i], candies[i+1]+1);
                }
            }
            return Arrays.stream(candies).sum();
        }