최대 회전 기능

길이가 n인 정수 배열 num이 주어집니다.

ark를 시계 방향으로 k 위치만큼 숫자를 회전시켜 얻은 배열이라고 가정합니다. 다음과 같이 숫자에 대한 회전 함수 F를 정의합니다.

F(k) = 0 * 방주[0] + 1 * 방주[1] + ... + (n - 1) * 방주[n - 1].
F(0), F(1), ..., F(n-1)의 최대값을 반환합니다.

답이 32비트 정수에 맞도록 테스트 케이스가 생성됩니다.


class Solution(object):
    def maxRotateFunction(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res = []
        n = len(nums)
        mx = 0

        def rotateFn(k):
            total = 0
            nonlocal nums
            nums =  nums[0:k % n-1] + nums[k+1 % n -1:]
            for i in range(n):
                total += nums[i] * i

            return total

        for i in range(n):
            mx = max(mx, rotateFn(i))
        return mx


좋은 웹페이지 즐겨찾기