# Find the only element that appears b times

• Difficulty Level : Easy
• Last Updated : 18 Mar, 2022

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.

Examples:

```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).

## C++

 `// CPP program to find the only element that``// appears b times``#include ``using` `namespace` `std;` `int` `appearsbTimes(``int` `arr[], ``int` `n, ``int` `a, ``int` `b)``{``    ``unordered_set<``int``> s;` `    ``int` `a_sum = 0, sum = 0;` `    ``for` `(``int` `i = 0; i < n; i++) {``        ``if` `(s.find(arr[i]) == s.end()) {``            ``s.insert(arr[i]);``            ``a_sum += arr[i];``        ``}` `        ``sum += arr[i];``    ``}` `    ``a_sum = a * a_sum;` `    ``return` `((a_sum - sum) / (a - b));``}` `int` `main()``{``    ``int` `arr[] = { 1, 1, 2, 2, 2, 3, 3, 3 };``    ``int` `a = 3, b = 2;``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr[0]);``    ``cout << appearsbTimes(arr, n, a, b);``    ``return` `0;``}`

## Java

 `// Java program to find the only element that``// appears b times``import` `java.util.*;` `class` `GFG``{``static` `int` `appearsbTimes(``int` `arr[], ``int` `n,``                         ``int` `a, ``int` `b)``{``    ``HashSet s = ``new` `HashSet();` `    ``int` `a_sum = ``0``, sum = ``0``;` `    ``for` `(``int` `i = ``0``; i < n; i++)``    ``{``        ``if` `(!s.contains(arr[i]))``        ``{``            ``s.add(arr[i]);``            ``a_sum += arr[i];``        ``}` `        ``sum += arr[i];``    ``}``    ``a_sum = a * a_sum;` `    ``return` `((a_sum - sum) / (a - b));``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `arr[] = { ``1``, ``1``, ``2``, ``2``, ``2``, ``3``, ``3``, ``3` `};``    ``int` `a = ``3``, b = ``2``;``    ``int` `n = arr.length;``    ``System.out.println(appearsbTimes(arr, n, a, b));``}``}` `// This code is contributed by 29AjayKumar`

## Python3

 `# 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`

## C#

 `// C# program to find the only element that``// appears b times``using` `System;``using` `System.Collections.Generic;` `class` `GFG``{``    ` `static` `int` `appearsbTimes(``int` `[]arr, ``int` `n,``                        ``int` `a, ``int` `b)``{``    ``HashSet<``int``> s = ``new` `HashSet<``int``>();` `    ``int` `a_sum = 0, sum = 0;` `    ``for` `(``int` `i = 0; i < n; i++)``    ``{``        ``if` `(!s.Contains(arr[i]))``        ``{``            ``s.Add(arr[i]);``            ``a_sum += arr[i];``        ``}` `        ``sum += arr[i];``    ``}``    ``a_sum = a * a_sum;` `    ``return` `((a_sum - sum) / (a - b));``}` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `[]arr = { 1, 1, 2, 2, 2, 3, 3, 3 };``    ``int` `a = 3, b = 2;``    ``int` `n = arr.Length;``    ``Console.WriteLine(appearsbTimes(arr, n, a, b));``}``}` `// This code is contributed by Princi Singh`

## Javascript

 ``

Output:

`1`

Time Complexity: O(n)
Auxiliary Space: O(n)

Please refer to the article below for more approaches.
Find the only element that appears k times.

My Personal Notes arrow_drop_up