Подсчёт суммы элементов массива через Рекурсию
Вообще эта задача тоже меня напрягла, расстроил тот факт, что в Kotlin нельзя получить срез массива, как в Python...
В Python чтобы получить список элементов массива без самого первого элемента можно написать вот так:
list[1:]
В Kotlin есть несколько вариантов:
list.takeLast(list.size - 1)
list.stream().skip(1).toList()
Не отрицаю, что есть ещё другие способы, это первое что пришло в голову.
P.S. Вообще это не повод уходить в Python, есть множество других классных концепций за которые я полюбил Kotlin
Вообще эта задача тоже меня напрягла, расстроил тот факт, что в Kotlin нельзя получить срез массива, как в Python...
В Python чтобы получить список элементов массива без самого первого элемента можно написать вот так:
list[1:]
В Kotlin есть несколько вариантов:
list.takeLast(list.size - 1)
list.stream().skip(1).toList()
Не отрицаю, что есть ещё другие способы, это первое что пришло в голову.
P.S. Вообще это не повод уходить в Python, есть множество других классных концепций за которые я полюбил Kotlin
👍2
Хеш-табли́ца
Cтруктура данных, реализующая интерфейс ассоциативного массива. Представляет собой эффективную структуру данных для реализации словарей, а именно, она позволяет хранить пары (ключ, значение)
На картинке представлено сравнение эффективности выполнения алгоритмов с точки зрения времени выполнения операции. В худшем случае хеш-таблицы медленно выполняют все эти операции, поэтому важно избегать худшего случая быстродействия при работе с хеш-таблицами.
Для предотвращения коллизий необходимы:
- Хорошая хеш-функция
- Низкий коэффициент заполнения.
Чтобы избежать всех этих проблем с производительностью используйте уже готовые реализации структур данных, а не изобретайте свой велосипед
Почти во всех современных языках присутствуют классы, реализующие хеш-таблицы.
Java и Kotlin
HashMap — реализация интерфейса ассоциативного массива с использованием хеш-таблицы,
HashSet — реализация интерфейса множества с использованием хеш-таблицы,
LinkedHashMap — потомок класса HashMap. Позволяет просматривать значения в том порядке, в котором они были добавлены.
Python
dict — реализация интерфейса ассоциативного массива с использованием хеш-таблицы,
set — реализация интерфейса множества с использованием хеш-таблицы.
Подробнее почитать как работать с ними в Kotlin можно тут:
https://metanit.com/kotlin/tutorial/7.4.php
Cтруктура данных, реализующая интерфейс ассоциативного массива. Представляет собой эффективную структуру данных для реализации словарей, а именно, она позволяет хранить пары (ключ, значение)
На картинке представлено сравнение эффективности выполнения алгоритмов с точки зрения времени выполнения операции. В худшем случае хеш-таблицы медленно выполняют все эти операции, поэтому важно избегать худшего случая быстродействия при работе с хеш-таблицами.
Для предотвращения коллизий необходимы:
- Хорошая хеш-функция
- Низкий коэффициент заполнения.
Чтобы избежать всех этих проблем с производительностью используйте уже готовые реализации структур данных, а не изобретайте свой велосипед
Почти во всех современных языках присутствуют классы, реализующие хеш-таблицы.
Java и Kotlin
HashMap — реализация интерфейса ассоциативного массива с использованием хеш-таблицы,
HashSet — реализация интерфейса множества с использованием хеш-таблицы,
LinkedHashMap — потомок класса HashMap. Позволяет просматривать значения в том порядке, в котором они были добавлены.
Python
dict — реализация интерфейса ассоциативного массива с использованием хеш-таблицы,
set — реализация интерфейса множества с использованием хеш-таблицы.
Подробнее почитать как работать с ними в Kotlin можно тут:
https://metanit.com/kotlin/tutorial/7.4.php
❤7
Media is too big
VIEW IN TELEGRAM
Настройка окружения для программирования на Kotlin
Хочу сделать небольшое отступление от алгоритмов, и вернуться к тому, с чего следовало начать.
В этом видео я рассказал о том, что должно быть у вас установлено, чтоб дальше двигаться со мной и иметь возможность работать с кодом так, как делаю это я.
Ссылка для скачивания: https://www.jetbrains.com/ru-ru/idea/download/
Kotlin notebook: https://plugins.jetbrains.com/plugin/16340-kotlin-notebook
Пошаговая дока: https://kotlinlang.org/docs/get-started-with-kotlin-notebooks.html
p.s Уже скоро я начну нормально обрабатывать видео, ставить красивые превью, все будет😂
Хочу сделать небольшое отступление от алгоритмов, и вернуться к тому, с чего следовало начать.
В этом видео я рассказал о том, что должно быть у вас установлено, чтоб дальше двигаться со мной и иметь возможность работать с кодом так, как делаю это я.
Ссылка для скачивания: https://www.jetbrains.com/ru-ru/idea/download/
Kotlin notebook: https://plugins.jetbrains.com/plugin/16340-kotlin-notebook
Пошаговая дока: https://kotlinlang.org/docs/get-started-with-kotlin-notebooks.html
p.s Уже скоро я начну нормально обрабатывать видео, ставить красивые превью, все будет😂
👍4
Media is too big
VIEW IN TELEGRAM
Структура данных Очередь
В этом видео рассматриваю такую структуру данных, которая называется "Очередь" и её использование в Kotlin.
Интересный факт, что вы можете использовать как и очередь из Java, так и очереди из стандартной библиотеки Kotlin.collection, в видео так же попытался объяснить, что в итоге лучше использовать.
Бонусом, даю домашку и жду решения от всех тех, кто только вливается в Kotlin. В ДЗ вам нужно будет решить реальный практический кейс, на тему разумных МЕГА доходных инвестиций
В этом видео рассматриваю такую структуру данных, которая называется "Очередь" и её использование в Kotlin.
Интересный факт, что вы можете использовать как и очередь из Java, так и очереди из стандартной библиотеки Kotlin.collection, в видео так же попытался объяснить, что в итоге лучше использовать.
Бонусом, даю домашку и жду решения от всех тех, кто только вливается в Kotlin. В ДЗ вам нужно будет решить реальный практический кейс, на тему разумных МЕГА доходных инвестиций
👍5
Forwarded from СБЕР IT Сочи
Книжная полка нашего резидента: что почитать разработчику? На какие книги обратить внимание новичку?
🌟 Подборкой книг поделился Кирилл Пахтусов, Java/Kotlin backend-разработчик айти-центра Сбера в Сочи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Всем привет.
Сегодня в планах сделать контент на тему, BSF, Breadth-First-Search и графов. Для демонстрации работы написал программу, где Dependcy Injection на Koin, чтение json при помощи Klaxon. Поставьте любые реакции если стоит отвлечься и сделать обзор на эти библиотеки, ну или хотя бы рассказать почему я их выбрал...
Сегодня в планах сделать контент на тему, BSF, Breadth-First-Search и графов. Для демонстрации работы написал программу, где Dependcy Injection на Koin, чтение json при помощи Klaxon. Поставьте любые реакции если стоит отвлечься и сделать обзор на эти библиотеки, ну или хотя бы рассказать почему я их выбрал...
👍5🔥3❤2🤔2😱2
https://www.youtube.com/watch?v=S5rrt_QeWl4
В качестве практики рекомендую попробовать прочитать файл skills.json по аналогии как это сделано с peopleInfo.json
Дока по Klaxon https://github.com/cbeust/klaxon
В качестве практики рекомендую попробовать прочитать файл skills.json по аналогии как это сделано с peopleInfo.json
Дока по Klaxon https://github.com/cbeust/klaxon
YouTube
Обзор Klaxon или как работать с Json в Kotlin
В этом видео рассказываю о том как можно прочитать файл формата json используя язык Kotlin и библиотеку Klaxon
Dependency injection в Kotlin и Koin
Ух я смог! Даже если не являетесь программистом, просто зацените качество картинки и монтажа.
Это только начало, спасибо подписчикам, которые дают советы на тему: "Как делать лучше", я открыт для обратной связи... в планах и дальше развиваться и работать над качеством контента....
Урок: https://www.youtube.com/watch?v=RJ0aMfyabSM
Дока по Koin https://insert-koin.io/docs/quickstart/kotlin
Проект с Koin: github.com/twoZeros/sosial-network
Ух я смог! Даже если не являетесь программистом, просто зацените качество картинки и монтажа.
Это только начало, спасибо подписчикам, которые дают советы на тему: "Как делать лучше", я открыт для обратной связи... в планах и дальше развиваться и работать над качеством контента....
Урок: https://www.youtube.com/watch?v=RJ0aMfyabSM
Дока по Koin https://insert-koin.io/docs/quickstart/kotlin
Проект с Koin: github.com/twoZeros/sosial-network
YouTube
Dependency injection в Kotlin и Koin
В этом видео рассказываю о том что такое внедрение зависимостей и IoC и демонстрирую практическую реализацию на Kotlin и библиотеки KoinДополнительные матери...
🔥5
Теория графов: основы
Долго думал как подойти к повествованию этой темы, а когда появились мемы мне сразу открылся сценарий 😁
https://youtu.be/7cIMMPyHZCY?si=2eJV9odusfKGuZP-
Долго думал как подойти к повествованию этой темы, а когда появились мемы мне сразу открылся сценарий 😁
https://youtu.be/7cIMMPyHZCY?si=2eJV9odusfKGuZP-
YouTube
Теория графов: основы
В этом видео рассказываю самые основы теории Графов и повествую об способах задания графов, для их хранения и обработки с помощью компьютера. Это первое виде...
😁4🔥3