সমস্যা বিবরণ
একটি পূর্ণসংখ্যা অ্যারে দেওয়া থাকে যেখানে সবচেয়ে বড় এলিমেন্ট শুধু একটিই আছে। সেই সর্বোচ্চ এলিমেন্টটি অন্য সব এলিমেন্টের কমপক্ষে দ্বিগুণ কিনা চেক করুন। হ্যাঁ হলে তার ইনডেক্স রিটার্ন করুন, না হলে -1।
উদাহরণ
ইনপুট: [3,6,1,0] → আউটপুট: 1
সর্বোচ্চ = ৬ (ইনডেক্স ১)। ৬ ≥ ২×৩, ২×১, ২×০ → শর্ত পূরণ করে।
এলগরিদম
maximum = max(nums),maxindex = nums.index(maximum)।- প্রতিটি এলিমেন্ট
x(সর্বোচ্চ বাদে) জন্য:- যদি
maximum < 2*x→return -1।
- যদি
- লুপ শেষ হলে
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