Minimum Absolute Difference in an Array
def minimumAbsoluteDifference(arr): arr.sort() min = 1000000000 for i in range(1, len(arr)): diff = abs(arr[i] - arr[i-1]) if diff < min: min = diff return min |
Luck Balance
# Complete the luckBalance function below. def luckBalance(k, contests): important_lucks = [] unimportant_lucks = [] def sumRange(target, start, end): result = 0 for i in range(start, end): result += target[i] return result # loop separate important with luck for contest in contests: luck = contest[0] important = contest[1] if important == 1: important_lucks.append(luck) else: unimportant_lucks.append(luck) # important_contest sort luck desc important_lucks.sort(reverse=True) luck_balance = 0 # merge sum luck_balance - first: important loop - sum or minus, second, sum unimportant loop important_lucks_length = len(important_lucks) if k >= len(important_lucks): luck_balance += sumRange(important_lucks, 0, important_lucks_length) else: luck_balance += sumRange(important_lucks, 0, k) luck_balance -= sumRange(important_lucks, k, important_lucks_length) for luck in unimportant_lucks: luck_balance += luck return luck_balance |
Greedy Florist
def getMinimumCost(k, c): c.sort() sum_price = 0 for i in range(len(c)): original_price = c[-1 * (i+1)] previous_purchase = math.floor(i / k) sum_price += (previous_purchase + 1) * original_price return sum_price |