## Saturday, April 22, 2017

### Check if frequency of each digit is less than the digit - GeeksforGeeks

Check if frequency of each digit is less than the digit - GeeksforGeeks
Given an integer n, the task is to check if frequency of each digit of the number is less than or equal to digit itself.

Efficient Approach: is to store the frequency of each digit and if at any place frequency is more than the digit value then return false, else return true.

`bool` `validate(``long` `long` `int` `n)`
`{`
`    ``int` `count[10] = {0};  `
`    ``while` `(n)`
`    ``{`
`        ``// calculate frequency of each digit`
`        ``int` `r = n % 10;`

`        ``// If count is already r, then`
`        ``// incrementing it would invalidate, `
`        ``// hence we return false.`
`        ``if` `(count[r] == r)`
`           ``return` `false``;  `

`        ``count[r]++;`
`        ``n /= 10;`
`    ``}`

`    ``return` `true``;`
`}`
Read full article from Check if frequency of each digit is less than the digit - GeeksforGeeks