Здравствуйте, netch80, Вы писали:
N>Давай трезво подумаем. N>Есть вариант сначала найти максимум — O(N), затем поискать его индекс — снова O(N). Итого O(N). N>Есть вариант явным циклом, менее читаемый, и всё равно O(N).
Твой ответ вгоняет меня в депрессию еще сильнее. В теории почти то же самое, а на практике будет медленнее, возможно, на порядки.
N>PS: А зачем ты вообще пошёл искать ответ на такой вопрос? )
Проверить — нет ли решения, которое встроено в библиотеку.
Здравствуйте, LaptevVV, Вы писали:
LVV>Сам уровень вопроса говорит о квалификции вопрошающего. LVV>По его квалификции и дан ответ: делай так и будет работать. LVV>Писать — мало, ошибок точно нет.
То есть, если вопрос по твоему недостаточно гламурен, то ты дашь в ответ крайне говенный код, использовать который ни при каких обстоятельствах нельзя.
Здравствуйте, netch80, Вы писали:
N>Давай трезво подумаем. N>Есть вариант сначала найти максимум — O(N), затем поискать его индекс — снова O(N). Итого O(N). N>Есть вариант явным циклом, менее читаемый, и всё равно O(N).
"Но есть нюанс".
Здравствуйте, Codealot, Вы писали:
C>Твой ответ вгоняет меня в депрессию еще сильнее. В теории почти то же самое, а на практике будет медленнее, возможно, на порядки.
Если ты о двоичных порядках, то на 1 порядок.
Pzz>>>Тебе ж сказали, решение не самое гламурное, но работает. И ведь не обманули. Pzz>>>Да еще к тому же сложность O(n), что вообще шикарно. Могла бы быть O(n^2), например. O>>Создать массив пар {value, index} отсортировать его пузырьком по value и взять index из последнего элемента? Pzz>А можно еще лексикографически все перестановки перебрать. Тогда вообще факториал получится.
В принципе если заморочиться, то можно сделать цикл начиная от максимального значения int-а и до нуля, искать каждое значение значение при помощи IndexOf. Метод интересный, но сложность слабенькая — O(N) всего лишь. Хотя N все же мало, тут O(M) скорее.
Как много веселых ребят, и все делают велосипед...
O>>Может, там массив меньше, и на то он и директор, что знает: по итогу в деньгах дешевле так? C>Экономия на спичках ведет к попадалову.
Может, там функция, вызываемая раз в неделю по 1 секунде.
Ну улучшишь её в 100 раз за цену нескольких синьёро-дней работы, и кто от этого выиграет?
Да, всякие физтехи, любящие на пустом месте разводить наукообразие и раздувать простейшую задачу на 100 микросервисов, в которых разберутся только другие физтехи -- если им такое не оплачивать, то попадут на деньги.
LVV>>Сам уровень вопроса говорит о квалификции вопрошающего. LVV>>По его квалификции и дан ответ: делай так и будет работать. LVV>>Писать — мало, ошибок точно нет. C>То есть, если вопрос по твоему недостаточно гламурен, то ты дашь в ответ крайне говенный код, использовать который ни при каких обстоятельствах нельзя.
Почему нельзя?
Отвечающий же написал, что работать будет.
Я вот в дотнете совсем не писал.
Но я б не задавал вопроса, а просто тупо попытался бы написать сам.
А то, что вопрос задан — тоже говорит об уровне вопрошающего.
Наверное, ему поучиться надо? Почитать документацию, книжки, сайты.
Если мне мой студент даже 2 курса задаст такой вопрос, я его просто пошлю книжку прочитать сначала.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Osaka, Вы писали:
O>Может, там функция, вызываемая раз в неделю по 1 секунде. O>Ну улучшишь её в 100 раз за цену нескольких синьёро-дней работы, и кто от этого выиграет?
Да вы что, ребята? Речь о простейшем алгоритме, решаемым не менее простейшим способом. О чем вы вообще? Мы на одно и тоже сообщение в SO смотрим? Какие могут быть "За" по предложенному варианту?
O>>Может, там функция, вызываемая раз в неделю по 1 секунде. O>>Ну улучшишь её в 100 раз за цену нескольких синьёро-дней работы, и кто от этого выиграет? FLY>Да вы что, ребята? Речь о простейшем алгоритме, решаемым не менее простейшим способом. О чем вы вообще? Мы на одно и тоже сообщение в SO смотрим? Какие могут быть "За" по предложенному варианту?
Такое "за", что написал потратив 2 минуты, а не отлаживал алгоритм от получаса до дней (включая несколько возвратов из тестирования и хождения за подписями ответственных).
Здравствуйте, Osaka, Вы писали:
O>Может, там массив меньше, и на то он и директор, что знает: по итогу в деньгах дешевле так?
Директора не только про это знают. Они иногда знают, что пропофол дешевле трёхкомпонентного наркоза. Анастезиолог же не знает про закупки — ему на подпись не приносят. Они ещё мноооого чего знают! Такого, от которого потом анастезиологи-реаниматологи меньше своих пациентов в среднем на 20 лет живут.
Мне только вот что интересно: а это только в России так или в остальном мире тоже самое?
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Osaka, Вы писали:
O>Такое "за", что написал потратив 2 минуты, а не отлаживал алгоритм от получаса до дней (включая несколько возвратов из тестирования и хождения за подписями ответственных).
Дай на вход пустой массив и успехов. Об этом я уже писал. Да и вообще ты о чем? Отладить цикл такая проблема?
O>>Ну улучшишь её в 100 раз за цену нескольких синьёро-дней работы, и кто от этого выиграет? C>Ты там под наркотой, что ли? Решить эту задачу — 10 минут для любого программиста, который хоть немного шарит.
Если написал алгоритм длиннее пары строк, и абсолютно всё в нём предусмотрел, то на реальных данных он всё равно может неожиданно сглючить.
Если программист не "немного шарит", а "работает в команде" — процедура исправления даже 1 буквы может затянуться на несколько дней и потребовать участия нескольких человек.
Со временем возникает привычка по возможности не вы(думывать) и делать простейшим способом.