숫자 목록이 있다고 가정하고 두 개의 개별 요소의 가장 큰 곱을 찾아야 합니다.
따라서 입력이 [5, 3, 7, 4]와 같으면 출력은 35
가 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- curr_max :=-inf
- 0부터 숫자 - 1까지의 범위에 있는 i에 대해
- i+1 범위에서 nums - 1 크기의 j에 대해
- nums[i] * nums[j]> curr_max이면
- curr_max :=nums[i] * nums[j]
- nums[i] * nums[j]> curr_max이면
- i+1 범위에서 nums - 1 크기의 j에 대해
- curr_max 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, nums): curr_max = float('-inf') for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] * nums[j] > curr_max: curr_max = nums[i] * nums[j] return curr_max ob = Solution() print(ob.solve([5, 3, 7, 4]))
입력
[5, 3, 7, 4]
출력
35