notes/OJ notes/pages/Leetcode Single-Number.md
2022-07-22 15:46:45 +08:00

64 lines
1.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Leetcode Single-Number
#### 2022-07-22 15:31
> ##### Algorithms:
> #algorithm #bit_manipulation
> ##### Data structures:
> #DS #bitset
> ##### Difficulty:
> #coding_problem #difficulty-easy
> ##### Additional tags:
> #leetcode
> ##### Revisions:
> N/A
##### Related topics:
```expander
tag:#bit_manipulation
```
##### Links:
- [Link to problem](https://leetcode.com/problems/single-number/)
- [Learn about XOR]()
___
### Problem
Given a **non-empty** array of integers `nums`, every element appears _twice_ except for one. Find that single one.
You must implement a solution with a linear runtime complexity and use only constant extra space.
#### Examples
**Example 1:**
**Input:** nums = [2,2,1]
**Output:** 1
**Example 2:**
**Input:** nums = [4,1,2,1,2]
**Output:** 4
**Example 3:**
**Input:** nums = [1]
**Output:** 1
#### Constraints
- `1 <= nums.length <= 3 * 104`
- `-3 * 104 <= nums[i] <= 3 * 104`
- Each element in the array appears twice except for one element which appears only once.
### Thoughts
> [!summary]
> This is a #bit_manipulation problem utilizing the XOR operator
### Solution