nums라는 숫자 목록이 있다고 가정하고 모든 nums[i]를 i의 왼쪽에 있는 가장 작은 요소로 바꿔야 합니다. nums[0]을 0으로 바꿔야 합니다.
따라서 입력이 [15, 7, 9, 16, 12, 25]와 같으면 출력은 [0, 15, 7, 7, 7, 7]
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- nums가 비어 있으면
- 새 목록 반환
- j:=숫자[0]
- 숫자[0]:=0
- 범위 1에서 숫자 - 1까지의 i에 대해
- k:=숫자[i]
- 숫자[i]:=j
- j:=j, k의 최소값
- 반환 번호
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, nums): if not nums: return [] j=nums[0] nums[0]=0 for i in range(1,len(nums)): k=nums[i] nums[i]=j j=min(j,k) return nums ob = Solution() nums = [15, 7, 9, 16, 12, 25] print(ob.solve(nums))
입력
[15, 7, 9, 16, 12, 25]
출력
[0, 15, 7, 7, 7, 7]