// TypeScript
function singleNumber(nums: number[]): number {
let ans = 0;
// 32 bits for signed integer
for (let i = 0; i < 32; i++) {
let count = 0;
for (const num of nums) {
if ((num >> i) & 1) {
count++;
}
}
if (count % 3 === 1) {
ans |= (1 << i);
}
}
return ans;
};