মান লক্ষ্য করুন আমাদের কাছে নন-নেগেটিভ সংখ্যার একটি তালিকা nums এবং একটি পজিটিভ মান k আছে। আমাদের কাজ হল চেক করা যে দৈর্ঘ্য কমপক্ষে ২ এমন কোনো সাবলিস্ট আছে কিনা যেনার যোগফল k-র গুণিতক (multiple)।
উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [12, 6, 3, 4] এবং k = 5, তবে আউটপুট হবে True, কারণ সাবলিস্ট [12, 3]-র যোগফল ১৫ যা ৫ দিয়ে বিভাজ্য।
sum := 0m := {}(একটি নতুন ম্যাপ)m[0] := -1iকে ০ থেকেlen(nums)পর্যন্ত লুপ চালান:sum := sum + nums[i]sum := sum % k- যদি
sum in mহয়, তবে:- যদি
i - m[sum] >= 2হয়, তবেTrueরিটার্ন করুন।
- যদি
- অন্যথায়,
m[sum] := i
Falseরিটার্ন করুন।
class Solution:
def solve(self, nums, k):
sum = 0
m = {}
m[0] = -1
for i in range(0, len(nums)):
sum += nums[i]
sum %= k
if sum in m:
if i - m[sum] >= 2:
return True
else:
m[sum] = i
return False
ob = Solution()
nums = [12, 6, 3, 4]
k = 5
print(ob.solve(nums, k))
[12, 6, 3, 4], 5
True