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

পাইথনে সর্টেড অ্যারেতে এলিমেন্টের প্রথম এবং শেষ পজিশন খুঁজে বের করা


मान लीजिए हमारे पास पूर्णांकों का एक सरणी A है। यह आरोही क्रम में सॉर्ट किया गया है, हमें एक दिए गए लक्ष्य मान की शुरुआती और अंतिम स्थिति ढूंढनी है। जब लक्ष्य सरणी में नहीं मिलता है, तो [-1, -1] लौटाएं। इसलिए यदि सरणी [2,2,2,3,4,4,4,4,5,5,6] की तरह है, और लक्ष्य 4 है, तो आउटपुट [4,7] होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −

  • प्रारंभ में res := [-1,-1], low := 0 सेट करें, high := सरणी A की लंबाई
  • जब तक low < high
    • mid := low + (high - low)/2
    • यदि A[mid] लक्ष्य है, तो
      • high := mid, res[0] := mid और res[1] := mid
    • अन्यथा जब A[mid] < लक्ष्य, तो low := mid + 1, अन्यथा high := mid
  • यदि res[0] = -1, तो res लौटाएं
  • low := res[0] + 1, high := nums की लंबाई
  • जब तक low < high
    • mid := low + (high - low)/2
    • यदि A[mid] लक्ष्य है, तो
      • low := mid + 1, res[1] := mid
    • अन्यथा जब A[mid] < लक्ष्य, तो low := mid + 1, अन्यथा high := mid
  • res लौटाएं

उदाहरण (पाइथन)

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −

class Solution(object):    def searchRange(self, nums, target):       res = [-1,-1]       low = 0       high = len(nums)       while low

इनपुट

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

आउटपुट

[5, 8]

  1. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা

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

  3. পাইথন প্রোগ্রাম: ২ডি অ্যারে-তে k-তম ছোট এলিমেন্ট বের করা

  4. পাইথনে লিস্টে সর্বোচ্চ ও ন্যূনতম উপাদানের পজিশন বের করার প্রোগ্রাম