problem no 64: unique numbers
In the given range [L, R], print all numbers having unique digits. e.g. In range 10 to 20 should print all numbers except 11.
Example 1:
Input: L = 10 R = 20 Output: 10 12 13 14 15 16 17 18 19 20 Explanation: The number 11 has two 1 therefore 11 is not a unique number.
Example 2:
Input: L = 1 R = 9 Output: 1 2 3 4 5 6 7 8 9 Explanation: All the Numbers are unique.
Your Task:
You don't need to read input or print anything. Your task is to complete the function uniqueNumbers() which takes two integers L and R as an input parameter and returns the list/vector of all the unique numbers present between L to R.
code:
vector<int> uniqueNumbers(int L,int R)
{
vector<int> vec;
for(int i=L;i<=R;i++)
{
int num=i;
unordered_map<int,int> mapp;
while(num>0)
{
int rem=num%10;
mapp[rem]++;
num=num/10;
}
int flagforunique=1;
for(auto ele:mapp)
{
if(ele.second>1)
{
flagforunique=0;
}
}
if(flagforunique==1)
{
vec.push_back(i);
}
}
return vec;
}
Comments
Post a Comment