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

পাইথনে রকেট সংঘর্ষের পরifinal অবস্থা বের করার প্রোগ্রাম


একটি তালিকা nums রকেটের আকার ও দিক নির্দেশ করে (ধনাত্মক = ডান, ঋণাত্মক = বাম)। সংঘর্ষে ছোটটি ধ্বংস হয়, সমান হলে দুটোই ধ্বংস। একই দিকে চললে সংঘর্ষ হয় না। সব সংঘর্ষের পর বাঁচা রকেটগুলো বের করুন।

উদাহরণ: nums = [3, 8, 5, -5] → আউটপুট [3, 8]।

সমাধানের ধাপগুলো:

  • স্ট্যাক-সদৃশ লিস্ট ls ব্যবহার করুন।
  • প্রতিটি রকেট প্রক্রিয়া করুন: ধনাত্মক হলে যোগ করুন, ঋণাত্মক হলে সংঘর্ষ চেক করুন।
  • সংঘর্ষ লজিক: আকার তুলনা করে বাঁচা রকেট রাখুন।

উদাহরণ

class Solution:
    def solve(self, nums):
        ls = [nums[0]]
        for i in range(1, len(nums)):
            if nums[i] >= 0:
                ls.append(nums[i])
            else:
                ls.append(nums[i])
                j = len(ls) - 2
                while j >= 0 and ls[j] >= 0:
                    if abs(ls[-1]) > ls[j]:
                        ls.pop(j)
                    elif abs(ls[-1]) == ls[j]:
                        ls.pop(j)
                        ls.pop(-1)
                        break
                    else:
                        ls.pop(-1)
                        break
                    j -= 1
        return ls

ob = Solution()
nums = [3, 8, 5, -5]
print(ob.solve(nums))

ইনপুট

[3, 8, 5, -5]

আউটপুট

[3, 8]
  1. পাইথনে পলিগনের ক্ষেত্রফল বের করার প্রোগ্রাম

  2. পাইথনে পলিগনের পরিসীমা বের করার প্রোগ্রাম

  3. পাইথনে রঙ মার্জ করলে অবশিষ্ট ন্যূনতম রঙের সংখ্যা বের করার প্রোগ্রাম

  4. পাইথনে K বৃদ্ধি করলে সর্বোচ্চ সমান উপাদান সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম