Given an array where every element occurs a times, except one element which occurs b (a>b) times. Find the element that occurs b times.
Input : arr = [1, 1, 2, 2, 2, 3, 3, 3] a = 3, b = 2 Output : 1
Add each number once and multiply the sum by a, we will get a times the sum of each element of the array. Store it as a_sum. Subtract the sum of the whole array from the a_sum and divide the result by (a-b). The number we get is the required number (which appears b times in the array).
# Python3 program to find the only
# element that appears b times
def appearsbTimes(arr, n, a, b):
s = dict()
a_Sum = 0
Sum = 0
for i in range(n):
if (arr[i] not in s.keys()):
s[arr[i]] = 1
a_Sum += arr[i]
Sum += arr[i]
a_Sum = a * a_Sum
return ((a_Sum – Sum) // (a – b))
# Driver code
arr = [1, 1, 2, 2, 2, 3, 3, 3]
a, b = 3, 2
n = len(arr)
print(appearsbTimes(arr, n, a, b))
# This code is contributed by mohit kumar
Please refer below article for more approaches.
- First element that appears even number of times in an array
- Find the element that appears once in an array where every other element appears twice
- Find the element that appears once
- Find the element that appears once in a sorted array
- Check if max occurring character of one string appears same no. of times in other
- Remove characters from string that appears strictly less than K times
- Count all elements in the array which appears at least K times after their first occurrence
- Find the K-th minimum element from an array concatenated M times
- Maximum difference between two elements such that larger element appears after the smaller number
- First element occurring k times in an array
- Largest element in the array that is repeated exactly k times
- Smallest element in an array that is repeated exactly 'k' times.
- Sum of array elements after every element x is XORed itself x times
- Unique element in an array where all elements occur k times except one
- Check if the last element of array is even or odd after performing a operation p times
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : mohit kumar 29