Skip to content

Add solution for ::replace and ::search methods#1

Open
mrjoshua22 wants to merge 3 commits intomainfrom
exercise/arrays
Open

Add solution for ::replace and ::search methods#1
mrjoshua22 wants to merge 3 commits intomainfrom
exercise/arrays

Conversation

@mrjoshua22
Copy link
Copy Markdown
Owner

No description provided.

def search(_array, _query)
0
def search(array, query, low = 0, high = array.size - 1)
return -1 if low > high
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай тут же сразу проверим не только что мы ничего не нашли в конце поиска, но и то имеет ли нам смысл вообще что то искать дальше.
Мы знаем что массив отсортирован, и что в начале у него самое маленькое значение, а в конце самое большое. (Что в т.ч. справедливо и для любого подмассива).
Т.е. мы можем проверить входит ли то число которое мы ищем в рамки того массива(или подмассива) в котором мы собираемся искать.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ок, добавил. В первоначальном варианте была такая проверка, но посчитал излишней раз при отсутствии числа в массиве / подмассиве все равно в итоге придет к пустому массиву и возврату -1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants