Тёмный

Задача из Собеседования в Google и Amazon  

Java Developer
Подписаться 26 тыс.
Просмотров 2 млн
50% 1

📲 Мой Telegram канал по Java: t.me/+gQKgQXwxiNNhNzky
_________________________________________________________________________
tags:
java, java tutorial, learn java, java tutorial for beginners, programming, java programming, tutorial, java full course, java beginner lesson, coding with john, java for beginners, how to code, java programming tutorial, программирование, джава, navin, java language, java placement, webdev, oracle, java coding, lesson, how to learn java, java programming for beginners, java course, how to code java, app development, java basics, java beginner, software engineer, programmer, learn java programming, learn java code, should you learn java, разработка, java code, developer, cloud, java virtual machine, how to code in java, learn to code java for beginners, learn java for beginners, jvm, jdk, java programming, java, как стать программистом, программирование, изучение языков программирования, менторинг программирование, разработка, курсы программирования онлайн, programming, программист, android, языки программирования, it, джава, java для начинающих, it курсы, front-end, программирование на java, java start, обучение java, develop, java уроки для начинающих, изучение java, code blog, выбор языка программирование, java программирование, начало программирование, javascript, уроки java, java уроки, программирование для начинающих, back-end, design, backend, как стать программистом с нуля, coding, java junior, java для чайников, программирование на java с нуля, как стать программистом самостоятельно, прямой эфир о java, как выучить java, как выучить java самостоятельно, как стать джавистом, java с нуля, java уроки с нуля, что учить java, язык программирования java, курсы программирования, js, сравнение, java tutorial for beginners, программирование с нуля, разработчик, курс java, как стать java разработчиком, уроки, джаваскрипт, python, для начинающих

Опубликовано:

 

1 авг 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 982   
@senior_javist
@senior_javist 10 месяцев назад
📌ССЫЛКА НА TELEGRAM В ОПИСАНИИ ПРОФИЛЯ
@Shon_TITAN_Group
@Shon_TITAN_Group 9 месяцев назад
Бывает
@Username_120
@Username_120 9 месяцев назад
Очень круто 👍 вроде просто, но эффективно! Подскажите, вы в джаве на каких проектах работаете?
@user-ej3ij1eh3l
@user-ej3ij1eh3l 9 месяцев назад
Это неоптимальный алгоритм, надо использовать бинарный поиск по началам строк и столбцов.
@pavelnozhevnikov330
@pavelnozhevnikov330 8 месяцев назад
3 шаг: 7 больше 9? А 8 меньше?))))) Что-то тут не так....
@diknik1148
@diknik1148 7 месяцев назад
Зада не решена, тк это не самое оптимальное решение с ассимптотической сложностью n*m. Бинарный поиск даст log, если двигаться по диагоналям
@subobus_516
@subobus_516 9 месяцев назад
«Семь больше девяти» Ауф
@sasmatres2731
@sasmatres2731 7 месяцев назад
доказательство того что говорил Энштейн стоит всего один раз ошибиться и не смотря на миллион слов сказанных до этого правильно люди укажут тебе только на ошибку
@psevdonim932
@psevdonim932 7 месяцев назад
@@sasmatres2731 ты уверен, что Энштейн хоть как-то тут связан с этим утверждением?
@ruden6623
@ruden6623 7 месяцев назад
Я думал мне показалось)
@denzeroneYT
@denzeroneYT 7 месяцев назад
​@@shinsentennouzu2564Это тут к чему? А что с украинцами не так, или ты типичный зомби? Люди бояться за свою землю, за свои дома, а ты как типичный чел, который верит пропаганде, из-за русни, ганд***, людям приходилось покидать свои дома, в которых они прожили всю жизнь, в итоге, знаю случай, когда люди успели выехать, и немного позже, заметили свой дом на Авито, нормально бл***? Почему вы такие идиоты, считаете что отнимать чужие дома "нормально", это насколько надо быть безчеловечным, вы от нищеты идете за деньги уб**ать своих "братьев", и после этого ты будешь что-то говорить про украинцев? Тут даже не в сумме дело, сколько бы не заплатили, адекватный человек никогда бы такого не сделал, при том, зайдя на чужие территории с оружием вы уже являетесь окупантами, которые уб***т невинных людей, которые просто защищают свое. А в итоге такие тупые как ты, пишут подобный бред, вот скажи, к тебе бы в дом ворвались, забирали все, а ты бы молча на это смотрел? Даже если да, вы терпилы, вы боитесь свою власть, она вас очень сильно запугала, как минимум, можно увидеть по митингам, которые в других странах проходят, но у вас почти нет, ведь выходишь с листком, и сажают, а вышли бы все, всех бы не пересажали, но вы безчеловечные, только если это вас коснется, возможно когда-то и выйдете.
@Denisg601
@Denisg601 7 месяцев назад
А 8 меньше девяти. Что такое 9? 😂😂😂
@GG_Shokk751
@GG_Shokk751 10 месяцев назад
В условии не указывается, то что все числа заполняются по увеличению. Решать задачу по первому примеру - не разумно. Все условия задачи надо указывать в начале, а не по мере решения
@Nobody-ju6pt
@Nobody-ju6pt 9 месяцев назад
Именно, просто гении программисты из гугла)))
@Podkarpatskay_Ukraina
@Podkarpatskay_Ukraina 9 месяцев назад
​@@Nobody-ju6ptну как по мне для галочки этот метод стоить знать или хотябы учесть.Но я бы скорее всего делал класический перебор в таком случаи ,так бы все варианты чисел и их рандомность была затронута
@Nobody-ju6pt
@Nobody-ju6pt 9 месяцев назад
@@Podkarpatskay_Ukraina до этого метода можно самому додуматься или идти стандартным путём, совсем не обязательно изобретать вечный двигатель для решения простенькой задачи
@Podkarpatskay_Ukraina
@Podkarpatskay_Ukraina 9 месяцев назад
Согласен
@user-zs7sn4mc6y
@user-zs7sn4mc6y 9 месяцев назад
​@@Nobody-ju6pt это проверяет твою способность к оптимизацией задач, сделала решение в тупую тебя бы на работу не взяли.
@softed
@softed 8 месяцев назад
-Обратите внимание, 9 находится в центре матрицы, задача решена
@kosiak10851
@kosiak10851 7 месяцев назад
ты украл то, что я только хотел сказать. Короче, зашёл в комментарии за этим комментарием.
@FedjaM1
@FedjaM1 6 месяцев назад
Обратите внимание, 9 находится в центре, поэтому начнём поиск с центра.
@softed
@softed 6 месяцев назад
@@bodstor, суть в том, что автор выдумал выгодные для себя условия
@maxajax9181
@maxajax9181 4 месяца назад
Пхахах, вы приняты в Гугл!
@user-ev5zy3ql9m
@user-ev5zy3ql9m 3 месяца назад
​@@maxajax9181он в гугл и работает. Видосы выкладывает на ютуб.
@oduwancanitbe3545
@oduwancanitbe3545 6 месяцев назад
Пока есть такие учителя, я спокоен за свою работу)
@kipiwpartner
@kipiwpartner 5 месяцев назад
Это точно))
@user-ur2pb6mt7e
@user-ur2pb6mt7e 5 месяцев назад
А вдруг нас лечат такие же врачи? Страшно
@ilya2022
@ilya2022 4 месяца назад
Бред полный рассказывает?)
@vovamagic659
@vovamagic659 4 месяца назад
Он сам придумал это задание 😂
@imbogdan5883
@imbogdan5883 3 месяца назад
Мне нужно 13
@vabka-7708
@vabka-7708 9 месяцев назад
В условии не сказано, что данные отсортированы.
@chu_ri5470
@chu_ri5470 9 месяцев назад
Если они отсортированы, то можно просто вычислить позицию девятки. Зная N M и любое числи в матрице.
@vabka-7708
@vabka-7708 9 месяцев назад
@@chu_ri5470 нет.
@octothorpe3377
@octothorpe3377 9 месяцев назад
Да там масса решений. Просто аффтар хайпует)
@realfootball338
@realfootball338 9 месяцев назад
Он сказал что возрастание - слева на право и с верху вниз. Отсортированние массиви ето основа бистрого поиска. Там дальше применими алгоритми по типу бинарного поиска
@Torbjorn-ph7rt
@Torbjorn-ph7rt 9 месяцев назад
​​@@realfootball338этого в условии задачи нет. Мы принципиально НЕ должны ориентироваться на частные случаи не прописанные в задаче либо должны перебрать их все.
@BBshilo
@BBshilo 9 месяцев назад
Чел, который устраивается уборщиком в гугл:😐
@sherwoodhayes859
@sherwoodhayes859 9 месяцев назад
это планировка кабинетов в офисе
@IhorKramarenko
@IhorKramarenko 9 месяцев назад
И так и не устроился
@artem_iz41
@artem_iz41 9 месяцев назад
Ждал этого коммента
@Beda_aviacompany
@Beda_aviacompany 4 месяца назад
Или грузчиком в амазон
@hiperriper94
@hiperriper94 9 месяцев назад
Заходит как то тестировщик и перемешивает значение в таблице)
@user-oc2fq8ps2d
@user-oc2fq8ps2d 9 месяцев назад
Был бы я тестировщиком я б туда ещё и символов накидал 😂
@hiperriper94
@hiperriper94 9 месяцев назад
@@user-oc2fq8ps2d в qa уже лет 10. Таблицу можно просто заполнить нулями и отрицательным числом😂
@user-jc5bc1gf3s
@user-jc5bc1gf3s 9 месяцев назад
Но мы то заранее все сортируем
@alexeybityukov7849
@alexeybityukov7849 9 месяцев назад
@@user-jc5bc1gf3s тогда обычный перебор бeдет значительно эффективней
@Alexandr_Zavgorodniy
@Alexandr_Zavgorodniy 9 месяцев назад
@@user-jc5bc1gf3s тогда проще перебором найти или include :)
@Batoev
@Batoev 9 месяцев назад
По этой логике почему бы не начать с центра?) и о чудо- совпадение будет сразу🤣🤣🤣
@theforgottenes2552
@theforgottenes2552 9 месяцев назад
? Нужное число необязательно будет в центре, однако двигаясь способом из видео оно будет гарантированно найденно за не самое большое количество времени
@reeky4265
@reeky4265 9 месяцев назад
​@@theforgottenes2552В условии массив не отсортирован, а в примере нам просто повезло.
@pavelbolkhovitin3687
@pavelbolkhovitin3687 9 месяцев назад
@@theforgottenes2552 массив отсортирован какой-то "хитрой" логикой, а если он будет случайно заполнен, а если другой размерности будет, а если еще что-то. Решение частного случая причем подгонка под результат, а не оптимизацию решения.
@user-mx3zb4qf4n
@user-mx3zb4qf4n 9 месяцев назад
​@@theforgottenes2552а где в условии изначально сказано что числа в столбиках растут вниз?
@Torbjorn-ph7rt
@Torbjorn-ph7rt 9 месяцев назад
"Обратим внимание, что число 9 в таблице есть. Решение: return true."
@Ty-160
@Ty-160 6 месяцев назад
"7 больше 9, значит двигаться левее смысла нет"
@Grigoriy..
@Grigoriy.. 4 месяца назад
Хахахахах, да
@ihateidiots9484
@ihateidiots9484 3 месяца назад
Он оговорился, но да, все на это обратили внимание
@_Veta1
@_Veta1 3 месяца назад
А 8 значит меньше девяти
@Nidvoraich
@Nidvoraich 10 месяцев назад
В условии ничего не сказано о сортированности массива, камон
@senior_javist
@senior_javist 10 месяцев назад
пересмотри видео, цитирую "все строки и столбцы идут в порядке возрастания".
@Nidvoraich
@Nidvoraich 10 месяцев назад
​@@senior_javistпересмотрел :) У тебя массив М на Н, надо найти число К. То, что в данном конкретном примере числа упорядочены каким-то образом, не гарантирует, что они будут упорядочены в следующий раз. А размерность массива, обозначенная буквами, а не цифрами, как бы намекает на то, что массив может быть дан другой.
@senior_javist
@senior_javist 10 месяцев назад
@@Nidvoraich я не говорю о конкретном массиве, я говорю об условии. В любом другом массиве числа будут упорядочены тоже. Если бы этого условия не было, я бы не показывал данный метод решения.
@vabka-7708
@vabka-7708 9 месяцев назад
@@senior_javist значит ошибся при озвучке, тк действительно нет никакого упоминания о том что данные как-то упорядочены. Из картинки вообще не понятно, как именно они упорядочены. (На сколько я понял - всё что справа - точно больше, чем то что слева. То что снизу - точно больше, чем то что сверху. Но это не распространяется на диагонали) В общем проблема скорее в подаче.
@ananasik-gamedev6381
@ananasik-gamedev6381 9 месяцев назад
Верно, условие дано не полное.@@vabka-7708
@jlvby
@jlvby 9 месяцев назад
Все эти задачки нужно решать с составлением договора и печатями, если всплывают скрытые условия - с вертушки сносим башню обмудку
@user-lisiipen
@user-lisiipen 9 месяцев назад
Это не та задача. На самом деле в Google и Amazon задают такую: Пупа и Лупа пошли за зарплатой. В бухгалтерии все перепутали. Лупа получил зарплату за Пупу. Что получил Пупа?
@exiver
@exiver 8 месяцев назад
Ни что, а за кого
@kivi3811
@kivi3811 8 месяцев назад
@@exiverфорточку открой
@korbwagen4218
@korbwagen4218 8 месяцев назад
Залупу
@laQuys
@laQuys 8 месяцев назад
Залупу
@user-bo2gp3pi4k
@user-bo2gp3pi4k 7 месяцев назад
Гениально
@user-ih6qs3yq4z
@user-ih6qs3yq4z 8 месяцев назад
If 9 in arr: Print("True") Else: Print("False")
@narekstar6174
@narekstar6174 4 месяца назад
Python! Best pl
@andrewdok3595
@andrewdok3595 9 месяцев назад
Супер-решение, под один частный случай. Осталось написать решениЯ под оставшиеся 750 вариантов (не учитывая возможные повторения чисел) илли триллион если числа могут повторяться
@_Kapc
@_Kapc 9 месяцев назад
Почему под один частный случай?
@andrewdok3595
@andrewdok3595 9 месяцев назад
@@_Kapc Потому что в условиях, до начала кодинга и составления алгоритма - Это Важно. Ничего не говорилось о правилах или особенностях наполнения массива. Данный массив можно рассматривать как Пример, для проверки должен быть предоставлен и другой - контрольный, по которому и будет проводиться оценка. Здесь же рассмотрен Частный случай
@_Kapc
@_Kapc 9 месяцев назад
@@andrewdok3595 это действительно так, но если опустить этот момент и считать, что в условиях все прописано, алгоритм ведь будет работать
@____-po8ro
@____-po8ro 9 месяцев назад
@@_Kapc >если опустить этот момент и считать, что в условиях все прописано, алгоритм ведь будет работать Если в условиях прописано ВСЕ, то этот мегакостыль вместо алгоритма сломается на первом неупорядоченном массиве. Потому что в условиях нет упорядоченности.
@pokalnetovps
@pokalnetovps 7 месяцев назад
Почему 750? Если из тех чисел, что там есть То это(5х5)! Т.е. факториал 5
@vays3659
@vays3659 8 месяцев назад
Семь больше девяти... И после этого меня не остановить 😂
@user-yr5xg1jl3z
@user-yr5xg1jl3z 9 месяцев назад
Класс, когда вам дадут новую расстановку чисел вы снова будете переписывать алгоритм?
@followthedark5140
@followthedark5140 5 месяцев назад
автор как и 28 клоунов никогда не слышали что можно на примере отдельно взятого алгоритма разработать универсальный который и буквы будет понимать и блуждать будет по закоулкам массива до тех пор пока либо не вернет тру либо закончатся переменные в лице положения строк-столбцов...
@chaoswires2734
@chaoswires2734 6 месяцев назад
А где в условии дано, что числа в матрице всегда будут отсортированы каким-либо образом? Матрицу 2000х4500 тоже глазами смотреть для решения?
@vcemdobraibobra
@vcemdobraibobra 7 месяцев назад
«Это было самое трудное собеседование на должность уборщика, но я его прошёл…»
@rocketman4072
@rocketman4072 9 месяцев назад
Если конкретно в этом массиве и с конкретно таким заданием, я бы вообще начал поиск с середины и выполнил её за 1 шаг 😂
@user-bc4fk1gm3z
@user-bc4fk1gm3z 8 месяцев назад
С прикладной точки зрения это решение не имеет ни каких преимуществ. Так как обычно массив данных заполняются более менее рандомно
@Victor16rus
@Victor16rus 5 месяцев назад
В условии задачи ещё забыли указать, что 7 больше 9-ти. И если видите, что числа в порядке возрастания, то видите и то, где находится девятка и нефиг её искать через какое-то там решение.
@user-se7ih2xn8u
@user-se7ih2xn8u 5 месяцев назад
Не рабочий алгоритм - вместо 9 в центре разместите 10, а девятку мы засунем вместо 6. А на случай если числа не повторяются, тогда сместите два нижних ряда на +100, например.
@RomanPro100
@RomanPro100 3 месяца назад
Тогда 10 повторяется. Лучше переставить так: 9 -> 6 -> 7 -> 8 -> 10 -> 9.
@user-se7ih2xn8u
@user-se7ih2xn8u 3 месяца назад
@@RomanPro100 а не важно, один фиг решение не работает
@VANSSOFT
@VANSSOFT 6 месяцев назад
Было бы справедливо посчитать нагрузку всех этих алгоритмов, а то может оказаться что поиск быстрее на 1% но ресурсов жрёт в 2 раза больше
@baboomka
@baboomka 9 месяцев назад
Бинарный поиск вышел из чата
@perfectogamer3349
@perfectogamer3349 7 месяцев назад
но он тут не сильно подойдет, т.к. тут числа не упорядочены по возрастанию) Если сначала упорядочить, то да, но цена такой операции наверное высокая
@ctrlalt2205
@ctrlalt2205 4 месяца назад
​@@perfectogamer3349что? Наверно?? Сложность сортировки известна любой бабке околоподъездной. А ещё этот клоун сам говорит, что отсортирована матрица. Так что бинарным тут очень даже изи решить
@austinpowers7361
@austinpowers7361 9 месяцев назад
В самом начале правильно сказали про диагональ. Но потом что-то пошло не так. Надо начать от центра и двигаться по диагонали. А затем максимум два бинарных поиска по столбцу и строке. Выходит m/2+2log(n)
@protiv_bio
@protiv_bio 6 месяцев назад
А в чем смысл "/2", реально это надо озвучивать интервьюерам? Это же не временная сложность уже, там константы игнорируются. Я бы и m опустил, докопаются если "примерно log(n)" сказать?
@user-wo3xu8ye1y
@user-wo3xu8ye1y 5 месяцев назад
А вот если 18 искать, то как ваш алгоритм работает? Мне кажется здесь сложность будет log(n)*log(m). А то что предлагает автор явно будет n+m, что явно не самый оптимальный вариант.
@evgeniibubolev9881
@evgeniibubolev9881 10 месяцев назад
Зачем начинать с конца? Надо начинать с середины, бинарный поиск эффективнее.
@SabFo_
@SabFo_ 10 месяцев назад
Здесь нет упорядоченной линейной последовательности, поэтому бинарный поиск здесь не даст верный ответ в общем случае
@josefkerr4124
@josefkerr4124 10 месяцев назад
да, но для другой задачи с литкода
@nitebo1
@nitebo1 9 месяцев назад
@@SabFo_для бинарного поиска достаточно упорядоченного массива и гарантии того, что число К есть в этом массиве. Поэтому тут лучше провернуть бинарный поиск, тк сложность его O(logN) а в худшем случае алгоритма автора будет сложность O(N) (если число К будет в нулевом столбце последнего ряда), что не является самым эффективным решением
@user-cc2gu9bx3i
@user-cc2gu9bx3i 9 месяцев назад
​@@nitebo1Бинарный поиск следует применить к каждой строке, поэтому сложность будет MlogN. Алгоритм, представленный автором, эффективнее
@nitebo1
@nitebo1 9 месяцев назад
@@user-cc2gu9bx3i зачем? Сначала к строке, потом к столбцу, сложность log(n*m) что лучше линейной
@emelya2644
@emelya2644 9 месяцев назад
Вот из-за таких способов решения и страдает оптимизация и появляются баги
@edfiw89
@edfiw89 8 месяцев назад
поясни, какия оптимизация страдает? И баги бывают не только функциональные, но и производительности. Как раз из-за отсутствия таких решений тебе надо ПК на 2 миллиарда оперций в секунду в 8 потоков, чтобы текст печатать. При этом еще и тормозить будет.
@koshkokoshka
@koshkokoshka 6 месяцев назад
​@@edfiw89 У нас для того и существуют многопоточные процессоры, чтобы пользоваться ими и эффективно решать подобные прикладные задачи. Чем прямолинейнее будет реализация, тем проще будет компилятору и процессору её распараллелить. Решение из видео красиво смотрится с точки зрения теории алгоритмов, но будет иметь сомнительную эффективность в реальном мире на практике, где помимо теории о сложности алгоритмов существует множество других факторов, связанных с тем, как реально работает современное компьютерное железо. Как раз таки из-за оверинжиниринга у нас и страдает производительность, когда вместо простых решений разработчики преждевременно пытаются всё "оптимизировать". В итоге имеем вот такой труднопроддерживаемый код под один конкретный случай, в котором на беглый взгляд разберётся только сам его автор.
@moriyamakyon1067
@moriyamakyon1067 4 месяца назад
@@edfiw89 "поясни, какия оптимизация страдает?" под другой массив придеться писать другой код. "Как раз из-за отсутствия таких решений тебе надо ПК на 2 миллиарда оперций в секунду в 8 потоков" как раз из за таких решений это и происходит
@edfiw89
@edfiw89 4 месяца назад
@@moriyamakyon1067 и что плохого в том, что под другой тип массива будет другой код, если он будет в n^2 быстрее? Может тогда пойдешь и ребятам из оракла объяснишь, что они погорячились с их множественными реализациями листов, мэпов и тп? да еще и позволили каждому разработчику писать свою реализацию. А чтобы не быть пустозвоном-покажи реализацию кода для такаго же случая, где бы не страдала оптимизация. то есть чобы твой алгоритм (универсальный для всех видов массивов) давал не хужиую производительность.
@edfiw89
@edfiw89 4 месяца назад
@@moriyamakyon1067 "как раз из за тиких решений это и происходит" ты ничего не перепутал? как код, заведомо оптимизированный программистом (на основании предварительных знаний и ограничений на содержимое массива) может работать медленнее стандартного, даже оптимизированного кода? расскажи, какие такие оптимизации со стороны компилятора и процессора позволят увеличить скорость выполнения в n^2 раз без увеличения количества потоков? Я ведь правильно понимаю, что раз выступаешь против оптимизации программистом(как показано в видео) то полностью полагаешся на оптимизацию компиляятором и процессором? Может тогда забаним алгоритмы поиска числа в одномерном отсортированном массиве методом деления пополам? ведь ситуация та же. в обоих случаях предпринимаются шаги по поиску элемента, основываясь на предваительном органичении на содержимое массива (т.е. его упорядоченность)
@MrRussianuser
@MrRussianuser 9 месяцев назад
В условиях задачи не сказано, что строки и столбцы возрастают, ваше решение некорректное. Как раз в Гугле на собесах акцентируют внимание на том, правильно ли ты понял задачу. Еще из этой оперы: найти элемент в дереве. Люди пишут алгоритм поиска по бинарному дереву, так как им дали пример такой, а потом им говорят, что решение некорректно.
@MrMagno-ni5lf
@MrMagno-ni5lf 9 месяцев назад
Используя 2 Бин поиска можно сделать ещё быстрее...
@nitebo1
@nitebo1 9 месяцев назад
Почему не бин поиск? ​​⁠для бинарного поиска достаточно упорядоченного массива и гарантии того, что число К есть в этом массиве. Поэтому тут лучше провернуть бинарный поиск, тк сложность его O(logN) а в худшем случае алгоритма автора будет сложность O(N) (если число К будет в нулевом столбце последнего ряда), что не является самым эффективным решением
@yatelevizor
@yatelevizor 9 месяцев назад
Можно и бп за log(n) + log(m)
@ubiwan7936
@ubiwan7936 9 месяцев назад
Я могу доказать, что меньше, чем за (min(M, N)) нельзя. В случае квадратного массива, это будет N
@nitebo1
@nitebo1 9 месяцев назад
@@ubiwan7936 я тупанул сорян. Уже понял ошибку
@user-pt7oi3qp6g
@user-pt7oi3qp6g 9 месяцев назад
​@@ubiwan7936докажи пожалуйста
@AlexShmaleks
@AlexShmaleks 6 месяцев назад
В условии не указали то, что числа будут по возрастанию. если вам попалась такая матрица то это совершенно не значит что следующая будет такая же.
@user-jx7ez6xh3c
@user-jx7ez6xh3c 7 месяцев назад
И это нужно решать чтобы просто работать у них грузчиком. Чтобы они говорили, что у них самые умные рабочие .😂
@user-jn4rg3qx3h
@user-jn4rg3qx3h 9 месяцев назад
Обычно в таких задачах приходит много запросов на заданном массиве, если в этой также, то был бы смысл построить какое-нибудь сбалансированное дерево поиска и норм
@gemyt8009
@gemyt8009 8 месяцев назад
Таким образом можно просто придать цифрам порядковый номер и сделать генератор случайных чисел, а далее удача вам в помощь
@daewoog3
@daewoog3 5 месяцев назад
Обожаю доморощеных программистов/математиков/физиков и прочих мамкиных инженеров, предлагающих свое репетиторство/менторство..
@maksymz6695
@maksymz6695 10 месяцев назад
А я чет не понял. Инфы что массив сортирован у нас нет. Почему то что 15 > 9 дает нам возможность отбросить цифры в столбце? Мы же их не проверяли ?!
@senior_javist
@senior_javist 10 месяцев назад
по условию все столбцы и строки идут в порядке возрастания. Если 15>9, значит числа больше 15 проверять смысла нет, их пропускаем.
@yungscarecrow758
@yungscarecrow758 10 месяцев назад
​@@senior_javist надо было это условие озвучить, а то я несколько минут голову ломал, как можно в рандомном массиве сделать это быстрее О(m*n)
@Nidvoraich
@Nidvoraich 9 месяцев назад
@@yungscarecrow758 ты не один, бро :)
@proKaps
@proKaps 9 месяцев назад
​@@yungscarecrow758, вот поэтому его и не взяли в Гугл
@code_craftsman
@code_craftsman 9 месяцев назад
Ты написал решение О(N+M), хотя сказал, что требуется написать самое эффективное решение. Бс может дать О(logN+logM). Хотя да, литкод часто дает заслать тупое решение. Эту задачу надо сделать «Напишите алгоритм который за кратчайшее время будет отвечать ДА/НЕТ» и дать матрицу + 10^6 запросов. В таком случае эта задача станет хоть чуть чуть похожа на medium. И твой код жиденько поймает TLE)
@user-xx6kt2ld8d
@user-xx6kt2ld8d 8 месяцев назад
А скажи номер задачи пожалуйста, если такая есть
@MagicMightNew
@MagicMightNew 9 месяцев назад
Какая-то экстремально простая задача. Эффективное решение пришло в голову ещё до полного озвучивания условия
@tepr1
@tepr1 Месяц назад
Решение на c++: 1) Делаем Vector а(n*m) 2) Заполняем его 3) if (lower_bount(a.begin(), a.end(), k) == k) { return true; } return false; Сложность алгоритма: O(log n), если откинуть заполнение массива P.S. lower_bount можно заменить либо upper_bount, либо своей функцией
@user-ml3jw6pk7r
@user-ml3jw6pk7r 10 месяцев назад
А если загадано число 18?
@glasderes
@glasderes 9 месяцев назад
То по масиву ты пойдешь в низ на 19, потом в лево 12 затем в верх 16 и еще раз 17, и еще раз 26, и потом только в лево
@user-jc5bc1gf3s
@user-jc5bc1gf3s 9 месяцев назад
Тогда пишешь [0][4] и ты на месте. Понял?
@automotivegarage45
@automotivegarage45 6 месяцев назад
Я думал тут какой-то двумерный бинарный поиск, долго думал, а все оказалось куда проще
@ctrlalt2205
@ctrlalt2205 4 месяца назад
Так тут тупорылое решение. Бинарный лучше
@ctrlalt2205
@ctrlalt2205 4 месяца назад
Единственная проблема у погромистов в чатике айсикью < 80 и двумерный массив их сбивает с толку сразу
@artmav2010
@artmav2010 3 месяца назад
У меня аш волосы на письке поседели от таких умных многословесных произношений
@user-jh4lo6ui7b
@user-jh4lo6ui7b 9 месяцев назад
Это на каком этапе собеседований спрашивают? Это точно в Google собеседование, а не в Gooqle?)
@xomyak3030
@xomyak3030 4 месяца назад
После такой лёгкой задачи в гугл возьмут максимум уборщиком😂
@ilya.davydov
@ilya.davydov 9 месяцев назад
Если уж на то пошло, то нужно бинарный поиск осуществлять.
@valik-stu
@valik-stu 2 месяца назад
Видел эту задачу при устройстве в NASA, но мне повезло, что такая же задача была, когда я работал в Майкрософт
@armina333
@armina333 3 месяца назад
Решение за O(log2(n * m)): Можно при вводе чисел пихать их в массив, отсортировать по возрастания и сделать бинарный поиск.
@Akasa_Lust
@Akasa_Lust 9 месяцев назад
Сначала ищем столбец, потом строку, пользуясь информацией о сортировке. Только вот искать их тоже можно эффективнее. Да и решение явно подразумевает использование указателя.
@sergeizvol
@sergeizvol 5 месяцев назад
Ладно😂😂😂 поржали и хватит, а то и 5 будет больше девяти.😅
@blacklight1456
@blacklight1456 3 месяца назад
Это кстати на trainee собеседование. После этого задания просят с нуля написать дистрибутив linux чтобы был лучше Kali и удобнее Ubuntu
@Giblotus
@Giblotus 7 месяцев назад
Хочу чтоб автору на каждом собеседовании так же давали задания.
@user-pl3bs1hv1n
@user-pl3bs1hv1n 12 дней назад
Это все при условии, что нет отрицатльных чисел. А так лучше начать с нижнего правого угла, так как там самое большое число, если оно меньше искомое числа, то сразу возвращаем false. В случае как на видео: с правого верхнего угла, если искомое больше всех, то есть false, то придется еще пройти по всему ряду вниз для проверки, прежде чем вернуть fasle
@user-pv2dh5qc6v
@user-pv2dh5qc6v 6 месяцев назад
Это задача уровня 8 класса школы с нормальной информатикой, я её щас успел решить до того, как ты сказал про диагональ
@nop99999
@nop99999 9 месяцев назад
я так понял что там я могу работать только уборщиком сейчас
@TheQuwel
@TheQuwel 5 месяцев назад
"Число семь" и "Семь больше девяти" - гений.
@user-um2tz8oe9p
@user-um2tz8oe9p 8 месяцев назад
Лучше уже условно разбить массив на квадраты 2 на 2, и паралельно запустить каждый.
@Life_Expert
@Life_Expert 4 месяца назад
Ахаха, 7 больше 9. Это гениально 😂😂😂
@TheIgoorR
@TheIgoorR 6 месяцев назад
"Семь больше девяти" Поздравляю, вы не прошли в Гугл и Амазон
@alexblack43
@alexblack43 9 месяцев назад
А теперь докажи, что это решение максимально эффективное.
@olegmartynov9051
@olegmartynov9051 8 месяцев назад
7 бльше 9. Мозг вышел из матрицы
@NarberalKa
@NarberalKa 5 месяцев назад
Заставило меня напрягать мозг, конечно я тоже могу выдумать условия решения и решить задачу зная пару команд😮
@uvash4611
@uvash4611 9 месяцев назад
Если в матрице все числа от 1 до n x m то можно записать её как одномерный массив, после чего вызвать алгоритм частичной сортировки (ставит 1 элемент на место), на то место где ожидается число.
@ubiwan7936
@ubiwan7936 9 месяцев назад
Этот алгоритм должен хотябы раз обратиться к каждому элементу, тогда у тебя получается O(M*N), что по асимптотике не лучше, чем просто поиск по каждому элементу, а у алгоритма из решения скорость O(M+N)
@serega_goth
@serega_goth 5 месяцев назад
7 больше 9😂😂😂. не мог не обратить внимание на данную ошибку, и не посмеяться.
@evilgamer2503
@evilgamer2503 9 месяцев назад
Двумерный масив "я просто существую", но ход мысли интересный
@user-wq7bi5sw4d
@user-wq7bi5sw4d 3 месяца назад
Когда устраивался на должность уборщика
@SashaGun_GD
@SashaGun_GD 5 месяцев назад
Самое эффективное решение: начать с центра
@user-tm1tp4xf2n
@user-tm1tp4xf2n 5 месяцев назад
Вот эти задачи точно придумывают люди, которые никогда не работали в ентерпрайзе, НИКОГДА. Потому что по моим наблюдениям, в массиве может быть вообще что угодно и где угодно.
@user-xw6gp7zc6q
@user-xw6gp7zc6q 5 месяцев назад
Математика явно ваш не любимый предмет был в школе😂
@pastgen9373
@pastgen9373 7 месяцев назад
Душнила в чате Чисто технически, это решение не будет являться оптимальным, поскольку может потребовать больше мощностей, чем перебор и относится к частномк случаю, а не универсально. В задаче запросили оптимальный вариант.. Перебор, а для частного случая можно остановиться на подобном переборе но с началом в центне
@Leyla-kk5vo
@Leyla-kk5vo 8 месяцев назад
Нужно решать через двоичный алгоритм поиска, т.к. все данные могут быть не отсортированы а сортировка огромных данных с последующим решением в видео займет непростительно много времени.
@vobafet8783
@vobafet8783 7 месяцев назад
Все же проще, делаешь условие поиск числа с индексами столбца и строки и сравниваешь каждое число с 9. При совпадении выводишь адресные индексы. Делается раза в 3 быстрее. Если же нужно ускорить процесс, можно сделать условные символьные блоки и искать уже в них
@ukio5176
@ukio5176 4 месяца назад
11 больше 9, значит двигаемся влево, 7 больше девяти, значит идем вниз
@Cluberr20
@Cluberr20 5 месяцев назад
Какая сложность по O(n) твоего решения и какой расход памяти ? это то с чего стоило бы начать разговор какая эта структура данных ? как называется алгоритм поиска или ты сам его придумал ?
@Paitattoo74
@Paitattoo74 5 месяцев назад
С такой же логикой, попробуй решить задачу из любого другого угла и она резка станет нерешаемой
@StrikerLoner1
@StrikerLoner1 9 месяцев назад
Пусть по этому алгоритму найдет число 10 или 17
@HouseOfHam
@HouseOfHam 5 месяцев назад
Если известно, что числа каким-либо способом отсортированы, лучше начинать не с первого/последнего, а с середины... и сдвигаться не по одному, а на середину оставшегося после последней проверки.
@user-lh7zw3ez1b
@user-lh7zw3ez1b 4 месяца назад
После труу😂 я не стала понимать ничего😂😂😂
@TypeGuest
@TypeGuest 8 месяцев назад
Подход классный. Искать ступеньку потом смещаться ниже и искать дальше. Но при гигантских размерностях бинарный поиск этой ступеньки будет быстрее. Продолжай, хорошо что двигаешь код в массы)
@luckyfox8109
@luckyfox8109 5 месяцев назад
самый эффективный вариант это пройтись по всем элементам 'матрицы', а не придумывать велосипед
@MacMan2152
@MacMan2152 5 месяцев назад
То, что числа расположены в порядке возрастания, не было сказано в правилах, а было представлено как "наблюдение": "обратите внимание". Если этого нет в правилах, то решение будет захардкоденным куском кала, заточенным под одну конкретную таблицу, а не под любую такую таблицу
@fbiflow7949
@fbiflow7949 5 месяцев назад
Так это решение и заточено конкретно под этот массив, достаточно на код взглянуть чтобы это понять 😅
@fantik86
@fantik86 Месяц назад
в условии дано слишком мало данных, чтоб смело заявлять "поиск будем производить справа", "отбрасывать" нижние числа и так далее
@plan-4D
@plan-4D 3 месяца назад
Перебирать столбцы с конца тоже не лучшее решение, когда можно применить бинарный поиск.
@poseidon6822
@poseidon6822 5 месяцев назад
Это как 18 задание по информатике в егэ
@1GZMO
@1GZMO 9 месяцев назад
Собеседование это форма унижения, если ты спец, то тебя берут полюбому
@user-wu9kj4wm8p
@user-wu9kj4wm8p 5 месяцев назад
Бинпоиск по первой строке пока не найдём столбец, в котором может быть искомое число + бинпоиск по столбцу, если в столбце нет числа - смещаемся влево по столбцам
@yourbigfan1777
@yourbigfan1777 8 месяцев назад
Легко, когда объясняют. А так бы я стал шарить через весь матрикс
@736939
@736939 3 месяца назад
Можно ещё быстрее типо 2х-мерным бинарным поиском. Таким образом, каждый раз получать прямоугольники в 2 раза меньшего размера. Решить за Logn
@user-wg1mc6ev4g
@user-wg1mc6ev4g 5 месяцев назад
«Семь больше девяти» Я прозрел.В следующем видео автор докажет что 2+2 пять
@Melior1982
@Melior1982 9 месяцев назад
Присоединяюсь к комментариям, я тоже подумал, что массив произвольный
@lenovoe4303
@lenovoe4303 5 месяцев назад
К алгоритм нужно добавить if (масив == не удобный) { print("Х..ли ты мне впариваешь не отсортированый масив?")
@NilufarJorayeva-cf8pf
@NilufarJorayeva-cf8pf 4 месяца назад
😂😂😂
@rexdraconis1703
@rexdraconis1703 9 месяцев назад
Не лучше ли будет бинарным поиском по диагонали искать нужную линию, и уже потом сравнивать внутри нее. Уверен на больших массивах этот способ будет намного быстрее
@plopatenok
@plopatenok 5 месяцев назад
7 больше 9ти, расходимся.
@serhiisinilov
@serhiisinilov 2 месяца назад
только вопрос. Какой смысл начинать справа, если всё то же самое будет и если начинать слева? только смотреться будет более складно и логично.
@acrrono
@acrrono 7 месяцев назад
«Семь больше девяти» Гениальный байт на коммент
@yuichic
@yuichic 5 дней назад
18 задание ЕГЭ по Информатике 😅
@user-in1xx7rs1z
@user-in1xx7rs1z 9 месяцев назад
По моему быстрее будет если использовать linq
@jopaslona1
@jopaslona1 3 месяца назад
> нашел рандомную задачу на литкоде > не смог полностью пересказать условие чтобы мы поняли > ща покажу максимально эффективное решение > показывает не эффективное решение > сеньор джавист
@lbbMHz
@lbbMHz 3 дня назад
интересно, в реальном мире бывают подобные задачи😂
@Sapport226
@Sapport226 8 месяцев назад
"7 больше 9" Ыыыы
Далее
🎙СПОЮ для ТЕБЯ ВЖИВУЮ!
3:03:01
Просмотров 1,3 млн
А что если не умеешь играть?🥲
00:46
QVZ
00:31
Просмотров 396 тыс.
SENIOR on JUNIOR Javascript Developer interview
26:35
Просмотров 273 тыс.
🎙СПОЮ для ТЕБЯ ВЖИВУЮ!
3:03:01
Просмотров 1,3 млн