Program to find an element in list whose value is same as its frequency in Python


Suppose we have a list of numbers called nums, we have to check whether there is an element whose frequency in the list is same as its value or not.

So, if the input is like [2, 4, 8, 10, 4, 4, 4], then the output will be True

To solve this, we will follow these steps −

  • res := a new map to store value wise frequency
  • for each key value pair (k,v) in res, do
    • if k is same as v, then
      • return True
  • return False

Let us see the following implementation to get better understanding −

Example

 Live Demo

class Solution:
   def solve(self, nums):
      res = {}
      for i in nums:
         try:
            res[i] += 1
         except:
            res[i] = 1
      for k,v in res.items():
         if k == v:
            return True
      return False
ob = Solution()
print(ob.solve([2, 4, 8, 10, 4, 4, 4]))

Input

[2, 4, 8, 10, 4, 4, 4]

Output

True

Updated on: 06-Oct-2020

138 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements