TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #518 · 27.08

Я порешал немного задачи на leetcode и остался не слишком доволен сервисом. Leetcode — это онлайн-сайт с задачами по программированию. Даётся описание (какие данные приходят на вход, и что нужно получить). Можно отправить код на любом актуальном языке программирования, и ваше решение будет оценено по двум показателям: скорость и память. Что не понравилось в сервисе: 1. Встроенный редактор кода поленились делать нормальным, это по сути блокнот без каких-либо хинтов и проверок. Проще сразу писать в IDE, а потом копировать. Но это мелочь, куда серьёзнее второй пункт. 2. Система оценки, о которой я упомянул выше, крайне неточная. Разброс по времени бывает в 1.5-2 раза у одного и того же кода. И, наоборот, почти не показывает важную разницу между разными решениями. По памяти то же самое: цифры плюс минус одинаковые, как бы вы ни решали задачу. Это выражается в том, что легко словить результат типа "Ваше решение лучше, чем 33.33% остальных", причем, много раз подряд. Это значит, что в точности треть решений попадает в какой-то один кластер оценки (либо что решений отправлено очень мало, но сайт популярный, так что не знаю даже). При этом подобная оценка — единственный показатель успешности вашего решения, поэтому она важна, но при таком разбросе теряет смысл. Хотя сама идея, например, ежедневной новой задачи мне нравится — позволяет разминать мозги и держать себя в тонусе в некотором смысле. Впрочем, тут тоже есть нюанс: эффективное решение задач редко пересекается с правильным и реалистичным решением, которое требовалось бы от программиста в любом практическом сценарии. Допустим, вам нужно наполнить ведро водой. В обычной жизни вы отнесёте его в ванну, откроете кран и наполните. А вот подход на Leetcode заставляет использовать извращения типа "вытащить из холодильника бутылку воды и разрезать её над ведром". И вот в какой-то момент вы понимаете, что быстрее всего выбросить ведро в окно, потому что под окном глубокая лужа, оно там утонет и технически станет наполненным водой мгновенно. О реальной жизненной применимости такого решения, думаю, говорить не стоит. Но иногда буду решать. Сегодняшняя задача уровня Hard, такие дают за собеседованиях на middle и senior: поиск максимальной суммы прямоугольника внутри матрицы. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #endif

当前筛选 #endif清除筛选
мобилки at home

@apphomie · Post #100 · 13.03.2018 г., 09:00

Пока сообщество (точнее, хэйтеры) занято обсуждением метода toggle для Bool, в Swift 4.1 появились две директивы: canImport и targetEnvironment, предложенные Эрикой Садун. Попробовать их можно уже сейчас в Xcode 9.3 beta 4. Первая будет полезна для кроссплатформенных решений и позволяет определить, можно ли импортировать тот или иной модуль. #if canImport(UIKit) // UIKit-based code #elseif canImport(Cocoa) // OSX code #elseif // Workaround/text, whatever #endif Вторая директива с единственно возможным аргументом simulator позволяет выполнить условную компиляцию для симулятора или реального девайса. Теперь не нужно перечислять все любимые нам архитектуры и ОС (arch(i386) || arch(x86_64)) && (!os(macOS)), а достаточно будет этого: // Test for a simulator destination #if targetEnvironment(simulator) print("Simulator") #else print("Device") #endif http://ericasadun.com/2018/03/05/new-to-swift-in-xcode-9-3-beta-4-se-0075-and-se-0190-allow-better-configuration-testing/