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

পাইথনে ডমিনেন্ট إندেক্স (Largest Number At Least Twice of Others)


সমস্যা বিবরণ

একটি পূর্ণসংখ্যা অ্যারে দেওয়া থাকে যেখানে সবচেয়ে বড় এলিমেন্ট শুধু একটিই আছে। সেই সর্বোচ্চ এলিমেন্টটি অন্য সব এলিমেন্টের কমপক্ষে দ্বিগুণ কিনা চেক করুন। হ্যাঁ হলে তার ইনডেক্স রিটার্ন করুন, না হলে -1।

উদাহরণ

ইনপুট: [3,6,1,0] → আউটপুট: 1

সর্বোচ্চ = ৬ (ইনডেক্স ১)। ৬ ≥ ২×৩, ২×১, ২×০ → শর্ত পূরণ করে।

এলগরিদম

  1. maximum = max(nums), maxindex = nums.index(maximum)।
  2. প্রতিটি এলিমেন্ট x (সর্বোচ্চ বাদে) জন্য:
    • যদি maximum < 2*x → return -1।
  3. লুপ শেষ হলে maxindex রিটার্ন করুন।

পাইথন বাস্তবায়ন

class Solution:
    def dominantIndex(self, nums):
        maximum = max(nums)
        maxindex = nums.index(maximum)
        for x in nums:
            if x != maximum and maximum < 2 * x:
                return -1
        return maxindex

ob = Solution()
print(ob.dominantIndex([3, 6, 1, 0]))  # 1

ইনপুট / আউটপুট

ইনপুট: [3, 6, 1, 0]
আউটপুট: 1
  1. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে বড় সংখ্যা বের করা

  2. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা

  3. পাইথনে একটি সংখ্যার সর্বোচ্চ质因数 বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: তিন সংখ্যার মধ্যে সর্বোচ্চ (Maximum of Three)