কম্পিউটার টিউটোরিয়াল

পাইথনে করেন্ট ইনডেক্স বাদে বাকি সব এলিমেন্টের গুণফলের তালিকা বানানোর প্রোগ্রাম


মান ল করুন nums নামের একটি সংখ্যার তালিকা, আমাদের একটি নতুন তালিকা বানাতে হবে যাতে নতুন তালিকার i-তম ইনডেক্সের এলিমেন্ট হল মূল তালিকার i-তম ইনডেক্স বাদে বাকি সব সংখ্যার গুণফল। এখানে ডিভিশন ব্যবহার না করেই সমাধান করতে হবে।

যদি ইনপুট হয় nums = [2, 3, 4, 5, 6], তবে আউটপুট হবে [360, 240, 180, 144, 120]

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:

  • যদি nums-এর আকার < 1 হয়, তবে nums ফেরত দিন
  • l := nums-এর আকার
  • left := l আকারের একটি তালিকা, প্রাথমিকভাবে সব নাল
  • right := l আকারের একটি তালিকা, প্রাথমিকভাবে সব নাল
  • temp := 1
  • i কে ০ থেকে nums-এর আকার পর্যন্ত লুপ চালান:
    • যদি i == 0, left[i] := temp
    • অন্যথায়, temp := temp * nums[i-1], left[i] := temp
  • temp := 1
  • i কে nums-এর আকার - ১ থেকে ০ পর্যন্ত কমিয়ে যান:
    • যদি i == nums-এর আকার - ১, right[i] := temp
    • অন্যথায়, temp := temp * nums[i+1], right[i] := temp
  • i কে ০ থেকে nums-এর আকার পর্যন্ত লুপ চালান: left[i] := left[i] * right[i]
  • left ফেরত দিন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:

উদাহরণ

class Solution:    def solve(self, nums):       if len(nums) < 1:          return nums       l = len(nums)       left = [None] * l       right = [None] * l       temp = 1       for i in range(len(nums)):          if i == 0:             left[i] = temp          else:             temp = temp * nums[i - 1]             left[i] = temp       temp = 1       for i in range(len(nums) - 1, -1, -1):          if i == len(nums) - 1:             right[i] = temp          else:             temp = temp * nums[i + 1]             right[i] = temp       for i in range(len(nums)):          left[i] = left[i] * right[i]       return left ob = Solution() nums = [2, 3, 4, 5, 6] print(ob.solve(nums))

ইনপুট

[2, 3, 4, 5, 6]

আউটপুট

[360, 240, 180, 144, 120]

  1. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  2. পাইথনে লিস্টের এলিমেন্টগুলোর যোগফল বের করা

  3. পাইথনে লিস্ট থেকে N বড় এলিমেন্ট বের করা

  4. পাইথনে দুটি লিস্টের সাধারণ উপাদান প্রিন্ট করার প্রোগ্রাম