Create struct Point#41
Open
Tim-tech-gif wants to merge 1 commit into
Open
Conversation
Щоб обчислити фактичну зайняту площу кількома прямокутниками на площині, потрібно врахувати можливе перекриття між ними. Для цього можна використати підхід зі скануючою лінією або просто перевіряти перекриття кожної пари прямокутників. Ось можливий підхід для реалізації функції area_occupied: Розділити прямокутники на відрізки (за осями X та Y). Знайти унікальні відрізки по осі X та Y. Для кожної клітинки на площині, визначити, чи вона зайнята прямокутниками. Порахувати загальну площу зайнятих клітинок. Як працює цей код: Ми збираємо всі унікальні координати по осях X та Y для кожного прямокутника. Далі, для кожного сегмента між цими координатами перевіряється, чи цей сегмент перекривається будь-яким з прямокутників. Якщо сегмент перекривається хоча б одним прямокутником, його площа додається до загальної зайнятої площі. Тест перевіряє, що функція правильно повертає 60 для наведених даних.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Щоб обчислити фактичну зайняту площу кількома прямокутниками на площині, потрібно врахувати можливе перекриття між ними. Для цього можна використати підхід зі скануючою лінією або просто перевіряти перекриття кожної пари прямокутників. Ось можливий підхід для реалізації функції area_occupied:
Розділити прямокутники на відрізки (за осями X та Y). Знайти унікальні відрізки по осі X та Y.
Для кожної клітинки на площині, визначити, чи вона зайнята прямокутниками. Порахувати загальну площу зайнятих клітинок.
Як працює цей код:
Ми збираємо всі унікальні координати по осях X та Y для кожного прямокутника. Далі, для кожного сегмента між цими координатами перевіряється, чи цей сегмент перекривається будь-яким з прямокутників. Якщо сегмент перекривається хоча б одним прямокутником, його площа додається до загальної зайнятої площі. Тест перевіряє, що функція правильно повертає 60 для наведених даних.