Given a list of integers, return whether or not the occurrence of every value in the array is unique.
Note: Numbers can be negative.
nums = [5, 3, 1, 8, 3, 1, 1, 8, 8, 8]
Output:- True
Element | Ocuurrences |
---|---|
1 | 3 |
3 | 2 |
5 | 1 |
8 | 4 |
Since all occurrences are unique, it returns true
.
Let’s try another example:
nums= [3, 1, 1, 2, 2, 2, 3]
To solve this problem we need to:
First, find out the occurrence number of each element in the given list(nums
). Then, save the occurrence value/number in list_occur
.
nums= [3, 1, 1, 2, 2, 2, 3] list_element,list_occur=[],[] for i in nums: occur=nums.count(i) #no of occurrence if(i not in list_element): #ignoring appending of reapted occurrence list_element.append(i) #appending elements which done counting occurrence list_occur.append(occur) #occurrence values print(list_occur)
Now, since we have the occurrence value of each element in the list, we have to check if the occurrence number of every value in the list is unique.
To do this, we just compare the values within list_occur
.
nums= [3, 1, 1,1, 2, 2, 2, 3] list_element,list_occur=[],[] for i in nums: occur=nums.count(i) #no of occurrence if(i not in list_element): #ignoring appending of reapter occurrence list_element.append(i) #appending elements which done counting occurrence list_occur.append(occur) #occurrence values print(list_occur) #checking occurrences are unique for i in list_occur: occur=list_occur.count(i) if(occur>1): print("False") break else: print("True")
The whole program code is below, in the form of a function:
def solve(nums): list_ele,list_occ=[],[] for i in nums: occur=nums.count(i) if(i not in list_ele): list_ele.append(i) list_occ.append(occur) for i in list_occ: occur=list_occ.count(i) if(occur>1): return False return True print("nums=[3, 1, 1, 2, 2, 2, 3] ",solve([3, 1, 1, 2, 2, 2, 3])) print("nums=[-3, -1, -1, -1, -2, -2] ",solve([-3, -1, -1, -1, -2, -2])) print("nums=[5, 3, 1, 8, 3, 1, 1, 8, 8, 8] ",solve([5, 3, 1, 8, 3, 1, 1, 8, 8, 8]))
RELATED TAGS
CONTRIBUTOR
View all Courses