GOLANG_INTERVIEW Telegram 1187
🧠 Хитрая задача на Go для продвинутых

Актуально для Go 1.22+


📌 Тень перестановки

У вас есть массив A из n уникальных положительных чисел (`1 ≤ A[i] ≤ 1e6`, `n ≤ 200000`).

Нужно определить, существует ли хотя бы одна перестановка этого массива P, такая что сумма побитовых AND соседних элементов:

P[0]&P[1] + P[1]&P[2] + ... + P[n-2]&P[n-1]

будет чётным числом?

🔍 Наблюдение:

a & b может быть нечётным только если оба числа нечётные.
• Если в массиве есть двое чётных или двое нечётных, то их можно поставить рядом — и сумма будет чётной.
• Значит, если есть хотя бы две одинаковые по чётности — ответ: YES.

Решение (O(n)):

1. Считаем количество чётных и нечётных чисел.
2. Если хотя бы одно из них ≥ 2 → `"YES"`, иначе — `"NO"`.

💻 **Код на Go:**

```go


func HasEvenAndPermutationSum(A []int) string {
odd, even := 0, 0
for _, v := range A {
if v%2 == 0 {
even++
} else {
odd++
}
}
if even >= 2 || odd >= 2 {
return "YES"
}
return "NO"
}```

🧪 Примеры:

```go
HasEvenAndPermutationSum([]int{5, 2, 8}) // YES
HasEvenAndPermutationSum([]int{1}) // NO
HasEvenAndPermutationSum([]int{3, 7, 11}) // YES
HasEvenAndPermutationSum([]int{2, 4, 6, 8}) // YES
HasEvenAndPermutationSum([]int{3, 2}) // NO```

⚙️ Сложность:

• Время: O(n)
• Память: O(1)

📌 Эта задача проверяет не только знание Go, но и умение думать на уровне битов и арифметических свойств. Отличный пример для собеседования: простая по коду, но требует правильного наблюдения.
🥴20👍6🤣5🤔2😢2🥱21



tgoop.com/golang_interview/1187
Create:
Last Update:

🧠 Хитрая задача на Go для продвинутых

Актуально для Go 1.22+


📌 Тень перестановки

У вас есть массив A из n уникальных положительных чисел (`1 ≤ A[i] ≤ 1e6`, `n ≤ 200000`).

Нужно определить, существует ли хотя бы одна перестановка этого массива P, такая что сумма побитовых AND соседних элементов:

P[0]&P[1] + P[1]&P[2] + ... + P[n-2]&P[n-1]

будет чётным числом?

🔍 Наблюдение:

a & b может быть нечётным только если оба числа нечётные.
• Если в массиве есть двое чётных или двое нечётных, то их можно поставить рядом — и сумма будет чётной.
• Значит, если есть хотя бы две одинаковые по чётности — ответ: YES.

Решение (O(n)):

1. Считаем количество чётных и нечётных чисел.
2. Если хотя бы одно из них ≥ 2 → `"YES"`, иначе — `"NO"`.

💻 **Код на Go:**

```go


func HasEvenAndPermutationSum(A []int) string {
odd, even := 0, 0
for _, v := range A {
if v%2 == 0 {
even++
} else {
odd++
}
}
if even >= 2 || odd >= 2 {
return "YES"
}
return "NO"
}```

🧪 Примеры:

```go
HasEvenAndPermutationSum([]int{5, 2, 8}) // YES
HasEvenAndPermutationSum([]int{1}) // NO
HasEvenAndPermutationSum([]int{3, 7, 11}) // YES
HasEvenAndPermutationSum([]int{2, 4, 6, 8}) // YES
HasEvenAndPermutationSum([]int{3, 2}) // NO```

⚙️ Сложность:

• Время: O(n)
• Память: O(1)

📌 Эта задача проверяет не только знание Go, но и умение думать на уровне битов и арифметических свойств. Отличный пример для собеседования: простая по коду, но требует правильного наблюдения.

BY Golang вопросы собеседований


Share with your friend now:
tgoop.com/golang_interview/1187

View MORE
Open in Telegram


Telegram News

Date: |

"Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. Informative Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. How to create a business channel on Telegram? (Tutorial) Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram Golang вопросы собеседований
FROM American