ধরুন আমাদের একটি এলিমেন্টের লিস্ট আছে যার নাম nums, এবং একটি মান k। আমাদের সেই এলিমেন্টগুলো বের করতে হবে যেগুলো কমপক্ষে k বার ঘটেছে।
উদাহরণস্বরূপ, যদি ইনপুট nums = [2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1] এবং k = 3 হয়, তবে আউটপুট হবে [2, 5, 6, 3]।
সমাধানের ধাপসমূহ
c := nums-এ উপস্থিত প্রতিটি এলিমেন্টের ফ্রিকোয়েন্সি ধারণকারী একটি লিস্টres :=একটি নতুন লিস্টc-এ থাকা প্রতিটি কীnএর জন্য:- যদি
c[n] >= k, তবেn-কেres-এর শেষে ইনসার্ট করুন
- যদি
resরিটার্ন করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:
from collections import Counter
def solve(nums, k):
c = Counter(nums)
res = []
for n in c:
if c[n] >= k:
res.append(n)
return res
nums = [2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1]
k = 3
print(solve(nums, k))
ইনপুট
[2,5,6,2,6,1,3,6,3,8,2,5,9,3,5,1], 3
আউটপুট
[2, 5, 6, 3]