TGViewer
Swift | LeetCode Swift | LeetCode @easy_swift_task · 1.3K subscribers
Post #1482 101
Задача: 1262. Greatest Sum Divisible by Three
Сложность: medium

Если задан целочисленный массив nums, верните максимально возможную сумму элементов массива, которая делится на три.

Пример:
Input: nums = [3,6,5,1,8]
Output: 18


👨‍💻 Алгоритм:

1⃣Найдите сумму всех элементов массива.

2⃣Если сумма делится на 3, то она и есть ответ.

3⃣Если сумма при делении на 3 дает остаток 1, удалите один элемент с остатком 1 или два элемента с остатком 2 (если их сумма равна 2).
Если сумма при делении на 3 дает остаток 2, удалите один элемент с остатком 2 или два элемента с остатком 1 (если их сумма равна 2).

😎 Решение:
class Solution {
func maxSumDivThree(_ nums: [Int]) -> Int {
let totalSum = nums.reduce(0, +)
if totalSum % 3 == 0 {
return totalSum
}

var mod1 = [Int]()
var mod2 = [Int]()

for num in nums {
if num % 3 == 1 {
mod1.append(num)
} else if num % 3 == 2 {
mod2.append(num)
}
}

mod1.sort()
mod2.sort()

if totalSum % 3 == 1 {
let remove1 = mod1.isEmpty ? Int.max : mod1[0]
let remove2 = mod2.count < 2 ? Int.max : mod2[0] + mod2[1]
return totalSum - min(remove1, remove2)
} else {
let remove2 = mod2.isEmpty ? Int.max : mod2[0]
let remove1 = mod1.count < 2 ? Int.max : mod1[0] + mod1[1]
return totalSum - min(remove2, remove1)
}
}
}


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_swift_task
  1. Oct 11, 2026Задача: 1325. Delete Leaves With a Given Value Сложность: medium Дано корневое дерево root…
  2. Oct 7, 2026🔥 Скрытые вакансии с удаленной работой для iOS разработчика, которые нигде больше не публ…
  3. Oct 4, 2026Задача: 523. Continuous Subarray Sum Сложность: medium Дан целочисленный массив nums и цел…
  4. Oct 4, 2026Задача: 1329. Sort the Matrix Diagonally Сложность: medium Диагональ матрицы — это диагона…
  5. Oct 3, 2026Задача: 200. Number of Islands Сложность: medium Дана двумерная бинарная сетка размером m…
  6. Oct 2, 2026Задача: 246. Strobogrammatic Number Сложность: easy Дана строка num, представляющая собой…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →