Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 1d 배열의 누계를 찾는 프로그램

<시간/>

배열 번호가 있다고 가정합니다. rs[i]와 같은 배열의 누적 합계는 nums[0]에서 nums[i]까지의 모든 요소의 합입니다. 마지막으로 전체 누계를 반환합니다.

따라서 입력이 nums =[8,3,6,2,1,4,5]와 같으면 출력은 [8, 11, 17, 19, 20, 24, 29]가 됩니다.>

rs[0] = nums[0]
rs[1] = sum of nums[0..1] = 8 + 3 = 11
rs[2] = sum of nums[0..2] = 8 + 3 + 6 = 17
and so on

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • n:=숫자 크기

  • rs:=[숫자[0]]

  • 범위 1에서 n - 1까지의 i에 대해 수행

    • 숫자[i] :=숫자[i] + 숫자[i-1]

    • rs의 끝에 nums[i] 삽입

  • rs를 반환

예제(파이썬)

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(prices):
   n=len(nums)
   rs=[nums[0]]

   for i in range(1,n):
      nums[i]+=nums[i-1]
      rs.append(nums[i])
   return rs

nums = [8,3,6,2,1,4,5]
print(solve(nums))
반환

입력

[8,3,6,2,1,4,5]

출력

[8, 11, 17, 19, 20, 24, 29]