소프트웨어에 대한 모든 것

LeetCode 풀기 - 1551. Minimum Operations to Make Array Equal 본문

알고리즘/LeetCode

LeetCode 풀기 - 1551. Minimum Operations to Make Array Equal

앤테바 2021. 12. 9. 06:55
반응형

1551. Minimum Operations to Make Array Equal

https://leetcode.com/problems/minimum-operations-to-make-array-equal/

 

Minimum Operations to Make Array Equal - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제)

솔루션1) -  Straight Forward

mid를 구하고 arr의 길이가 짝수인 경우와 홀수인 경우를 나눠서 생각하며 쉽게 풀립니다.

discuss를 보면 수식적으로 시간 복잡도 O(1)로 풀어내눈군요..ㅡ,.ㅡ;

class Solution:
    def minOperations(self, n: int) -> int:
        nums = [i*2 + 1 for i in range(n)]            
        
        res = 0
        mid = len(nums) // 2
        
        if len(nums) % 2 == 0:
            target = nums[mid] - 1
            for i in range(mid):
                res += target - nums[i]
        else:
            target = nums[mid]
            for i in range(mid):
                res += target - nums[i]
        return res

 

반응형
Comments