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

পাইথনে সেরা সময় স্টক কেনা-বেচা II (Best Time to Buy and Sell Stock II)

স্টক প্রাইস অ্যারে দেওয়া থাকে। যেকোনো সংখ্যক ট্রানজ্যাকশন (কেনা-বেচা) করা যাবে, কিন্তু একসাথে একাধিক ট্রানজ্যাকশন নয়। সর্বোচ্চ প্রফিট বের করতে হবে। পিক-ভ্যালি পদ্ধতি: প্রতিদিনের প্রফিট যদি পজিটিভ হয়, যোগ করুন।

সমাধানের পদ্ধতি

  1. ans = 0 ইনিশিয়ালাইজ করুন।
  2. for i in range(1, len(prices)):
    • যদি prices[i] - prices[i-1] > 0, তবে ans += prices[i] - prices[i-1]।
  3. ans রিটার্ন করুন।

উদাহরণ কোড

class Solution(object):
    def maxProfit(self, prices):
        ans = 0
        for i in range(1, len(prices)):
            if prices[i] - prices[i-1] > 0:
                ans += (prices[i] - prices[i-1])
        return ans

ob1 = Solution()
print(ob1.maxProfit([7,2,5,8,6,3,1,4,5,4,7]))

ইনপুট

print(ob1.maxProfit([7,2,5,8,6,3,1,4,5,4,7]))

আউটপুট

13
  1. ব্যবহৃত অ্যান্ড্রয়েড ফোন কেনা ও বিক্রি করার ৫টি সেরা জায়গা

  2. পাইথনে BST-এর মেডিয়ান O(n) সময় এবং O(1) স্পেসে বের করা

  3. পাইথনে ভেক্টরাইজেশন (Vectorization) – পারফরম্যান্স অপ্টিমাইজেশন

  4. ২০২৪ সালের ক্রেজলিস্টের ১০টি বিশ্বস্ত বিকল্প কেনা ও বেচার জন্য