Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาผลรวมของอาร์เรย์ 1d ที่ทำงานอยู่ใน Python


สมมติว่าเรามีตัวเลขอาร์เรย์ ผลรวมของอาร์เรย์ที่เป็น 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:=ขนาดของ nums

  • rs:=[nums[0]]

  • สำหรับฉันอยู่ในช่วง 1 ถึง n - 1 ทำ

    • nums[i] :=nums[i] + nums[i-1]

    • ใส่ nums[i] ต่อท้าย rs

  • ส่งคืนสินค้า

ตัวอย่าง (Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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]