Posts

Showing posts from April, 2021

Leetcode 1551. Minimum Operations to Make Array Equal— Graphically Explained Python3 Solution

Image
Problem Description You have an array  arr  of length  n  where  arr[i] = (2 * i) + 1  for all valid values of  i  (i.e.  0 <= i < n ). In one operation, you can select two indices  x  and  y  where  0 <= x, y < n  and subtract  1  from  arr[x]  and add  1  to  arr[y]  (i.e. perform  arr[x] -=1  and  arr[y] += 1 ). The goal is to make all the elements of the array  equal . It is  guaranteed  that all the elements of the array can be made equal using some operations. Given an integer  n , the length of the array. Return  the minimum number of operations  needed to make all the elements of arr equal. Example 1: Input: n = 4 Output: 4 Explanation: arr = [1, 3, 5, 7] First 3 operations choose x = 3 and y = 0, this leads arr to be [4, 3, 5, 4] Now take 1 operation choose x = 2 and y = 1, thus arr = [4, 4, 4, 4]. Example 2: Input: n = 7 Output: 12 Solution BTW, don’t be frightened by the word “minimum” :) To start with, just use a simple example like [1,3,5] (where n=3). As