Abstract
The Lonely Integer shell problem from HackerRank.
Lonely Integer#
Overview#
There are \(N\) integers in an array \(A\). All but one integer occur in pairs. Your task is to find the number that occurs only once.
Input Format#
The first line of the input contains an integer \(N\), indicating the number of integers. The next line contains \(N\) space-separated integers that form the array \(A\).
Constraints#
\(1 \leq N < 100\)
\(N \% 2 = 1\) (\(N\) is an odd number)
\(0 \leq A[i] \leq 100, \forall \epsilon [1,N]\)
Output Format#
Output , the number that occurs only once.
Sample Input:1#
1
1
Sample Output:1#
1
Sample Input:2#
3
1 1 2
Sample Output:2#
2
Sample Input:3#
5
0 0 1 2 1
Sample Output:3#
2
Explanation#
In the first input, we see only one element (1) and that element is the answer.
In the second input, we see three elements; 1 occurs at two places and 2 only once. Thus, the answer is 2.
In the third input, we see five elements. 1 and 0 occur twice. The element that occurs only once is 2.
Solution#
#!/bin/bash
# shellcheck disable=SC2162,SC2034
# Read number of integers
read n
# Read array of integers
read -a int_array
# Init result for XOR
result=0
for i in "${int_array[@]}"; do
result=$(("$result" ^ "$i"))
done
echo "$result"