λ°°νμ μΈ κ²½μ°μλ§ μ°Έμ μΆλ ₯νλ XOR μ°μ°μ νμ©νλ€.
- λ¬Έμ λ₯Ό μΉνν΄λ³΄μ. λͺ¨λ μκ° 2λ²μ© λ±μ₯νκ³ , νλμ μλ§ ν λ² λ±μ₯νλ€κ³ νμ.
- μ΄ κ²½μ°, λͺ¨λ μλ€μ
^μ°μ°μ νλ©΄ ν λ² λ±μ₯ν μλ§μ μ μ μλ€. λ°°μ΄μ κΈΈμ΄+μΈλ±μ€μν΄λΉ μΈλ±μ€μΌ λμ μμκ°λ€μ λͺ¨λ^μ°μ°νλ©΄- λ°°μ΄ + μΈλ±μ€ μνλ‘ λͺ¨λ μλ 1λ²μ© λ±μ₯νλ€.
- μμκ° μνλ‘ νλμ μλ₯Ό μ μΈνκ³€ 1λ²μ© λ±μ₯νλ€.
- ν λ²λ§ λ±μ₯ν μκ° missing numberμ΄λ€.
- Time complexity:
$$O(n)$$
: λ°°μ΄μ κΈΈμ΄ n, μ΄λ₯Ό μννλ€.
-
Space complexity:
$$O(n)$$ : inline, μ£Όμ΄μ§ λ°°μ΄μ κΈΈμ΄
n
func missingNumber(nums []int) int {
num := len(nums)
for i, n := range nums {
num ^= i
num ^= n
}
return num
}- λ€λ₯Έ νμ΄λ‘ ν λ,
abs()λ₯Ό μ΄μ©ν΄μ ν΄κ²°νλ €κ³ νμλλ° ν΄λΉ λΌμ΄λΈλ¬λ¦¬κ° μ‘΄μ¬νμ§ μμλ€. μ κ·Έλ°μ§ μ°Ύμλ΄€λλ° λ무 κ°λ¨ν λΌμ΄λΈλ¬λ¦¬λ μ² νμ μλ§λλ€κ³ μλ£μ΄μ€λ€ νλλΌ.- μ°Έκ³ : https://go.dev/doc/faq#x_in_std