Full stack dev
61 subscribers
356 photos
50 videos
4 files
99 links
"Full Stack Dev & Computer Science" – Канал для разработчиков, которые хотят
расширить свои знания в Full Stack и углубиться в основы и новейшие тренды Computer Science.
Здесь вы найдете материалы по frontend и backend разработке, работе с базами данных,
Download Telegram
🟢Задача по Java: Binary Addition

📚Реализуйте функцию, которая принимает два числа, складывает
их и возвращает результат в двоичном формате. Результат должен быть строкой.


👁‍🗨Пример №1:
1, 1 --> "10" (1 + 1 = 2 in decimal or 10 in binary)

👁‍🗨Пример №2:
5, 9 --> "1110" (5 + 9 = 14 in decimal or 1110 in binary)

#task #java
👁‍🗨Все темы на канале:

🔍#memes
🔍#task
🔍#frontend
🔍#backend
🔍#python
🔍#algorithms
🔍#data
🔍#github
🔍#rust
🔍#c
🔍#java
🔍#js
🔍#framework
🔍#lib
🔍#technology
🔍#article
🔍#service
🔍#computerSince
🔍#vscode
🔍#CSharp
🔍#web
🔍#Linux
🔍#cpp
🔍#job
🔍#books
🔍#go
🔍#soft
🔍#articles
🔍#devOps
Forwarded from Timur
Задача для Java «Binary Search»

📚Дан массив целых чисел nums, отсортированный в порядке возрастания,
и целочисленный
target.

📚Напишите функцию для поиска target в nums. Если target существует,
то верните его индекс. В противном случае верните значение -1.


⚙️Необходимо написать алгоритм со сложностью выполнения O(log n).

👁‍🗨Пример №1:
« nums = [-1,0,3,5,9,12], target = 9
» 4

👁‍🗨Пример №2:
« nums = [-1,0,3,5,9,12], target = 2
» -1

#task #java
Структура данных Stack написанная на Java

⚙️Коротко о коде:
———————————
💡Поле limitSize - это поле(переменная) отвечает за переполнения stack.
Если длина stack.length >
limitSize то это не допустимо.
———————————
💡Метод isLimitSize - отвечает за проверку не переполнен ли stack.
———————————
💡Метод push - добавляет в вершину stack. При этом я использовал примитивный тип
данных(array) и по этой причине там пересоздаётся массив.

———————————
💡Метод pop - удаляет вершину stack и возвращает
этот элемент (По прицепу stack).

———————————
💡Метод peek - Возвращает без удаления вершину stack.
———————————
💡Метод size - Возвращает размер stack.
———————————
💡Метод isEmpty - Проверяет пуст ли stack.
———————————
💡Метод toString - Возвращает stack в виде Type String.
———————————

👁‍🗨Что такое stack: читать

#algorithms #java
👍1
Forwarded from Timur
Реализация структуры данных Queue(Очереди) на Java

⚙️Коротко о коде:
💡void enqueue(int el) - добавление элемента в очередь
💡int dequeue() - удаление из queue и возврат элемента
💡int peek() - получение первого элемента в очереди
💡boolean isEmpty() - пуст ли queue true/false
💡int size() - размер queue

👁‍🗨Что такое очередь: читать

#algorithms #java
Forwarded from Timur
Задача по Java: Проверка баланса скобок в строке

📚Напишите функцию, которая проверяет, сбалансированы ли
круглые, фигурные и квадратные скобки в заданной строке.
Сбалансированность означает, что каждая открывающая скобка
имеет соответствующую закрывающую, и скобки вложены корректно.


👁‍🗨Пример №1:
« "{[()()]}"
» true

👁‍🗨Пример №2:
« "{[(])}"
» false

#task #java
Forwarded from Timur
Задача для Java:

📚Реализуйте функцию, которая складывает
два числа и возвращает их сумму в двоичном формате.
Преобразование может быть выполнено до или после сложения.


⚙️Возвращаемое двоичное число должно быть String.

👁‍🗨Пример:

« a = 1, b = 1
» "10"
(1 + 1 = 2 in decimal or 10 in binary)

« a = 5, b = 9
» "1110"
(5 + 9 = 14 in decimal or 1110 in binary)

#task #java
Forwarded from Timur
Задача по Java: Подсчёт частоты слов в строке

📚Напишите метод countWordFrequency(), который принимает строку и возвращает Map,
где ключи — это слова из строки, а значения — количество их
вхождений, при этом сохранив порядок элементов.
Игнорируйте регистр и удаляйте знаки препинания.

👁‍🗨Пример №1:
« "Hello, world! Hello Java."
» {hello=2, world=1, java=1}

👁‍🗨Пример №2:
« "it's simple test for test."
» {its=1, simple=1, test=2, for=1}

👁‍🗨Пример №3:
« "1, 2, 3 here 3 number."
» {1=1, 2=1, 3=2, here=1, number=1}


#task #java
🔥1
Реализация структуры данных "Дерево(Tree)" на Java

⚙️Короток о структуре:

Структура данных "Дерево(Tree)" - это структура данных
себе содержит значение value например = 1 и левый(
left)
и правый(
right) ноды(node/branch) по сути value может быть
любым типом данных, но для простоты примера взял
int,
left и right это тоже структура данных Tree которая тоже имеет
left и right узлы, но node left и right могут содержать в себе так
же
null, это означает конец ветки дерева. Картинка как это можно представить выше
вместе с кодом.


💡Итак всё начинается с корневой(root) node,
мы в коде создали обЪект TreeRoot и хранится он у нас
в переменной root, и заполнили его узлами(nodes),
на картинки всё наглядно, потом чтобы всё дерево
отрисовать в консоли для этого вызвали метод
printTree(
<корневая нода>,
<просто дополнительная срока>,
<мы отрисовываем дерево с лева на право по этой причине right это
конец отрисовки узла, а значит true это у нас right, а left это false>,
)
.

#algorithms #java
🟢Реализация Графа (Graph) на Java (Pt 1)

Что такое Граф(Graph) ?

📚Давайте начнём с того, что граф - это структура данных
которая является множество обЪектов называемые Узлами(Node), которые могут быть
соединены между собой с помощью Рёбер(Edge), на картинки видно наглядно.


#algorithms #java
🟢Реализация Графа (Graph) на Java (Pt 2)

Какие свойства есть у Графа(Graph) ?

📚Как мы выяснили ранее, граф состоит из Рёбер(Edge) и Узлами(Node),
их можно представить в виде двух мерного массива int[][] но это не эффективно,
По этой причине в основе понимания Графа(Graph), стоит понимать такие структуры данных
как Деревья(Tree), Хэш таблицы(HashMap), Связанный списки и ещё не из структур данных Рекурсии. Если эти
структуры данных вам понятны, значит и эта структура будет понятно.


💡Окей. Давайте разберём Graph на составные, а именно Edge и Node.
Node - это обЪект имеющий свойства
* value(может быть любым типом данных)
* edges(все узлы которые есть у node)
* parents(все вершины которые ведут к текущей node, то есть родители node )

Edge - это обЪект имеющий свойства
* adjacentNode - соседний узел
* weight - вес ребра(Каждое ребро имеет вес, в нашем примере для простоты все веса всех ребер равны 1)

#algorithms #java
🟢Реализация Графа(Graph) на Java (Pt 3)

Что такое Ребро(Edge) ?

💡Окей. Мы с вами уже разобрали какими свойствами обладаем граф,
теперь поговорим в отдельности о
Edge.

Edge - это ребро как мы уже поняли, каждое ребро имеет вес и направление,
есть ребра однонаправленные например:
Node -Edge--> Node; и
двунаправленные например:
Node <--Edge--> Node

⚙️Поговорим теперь о коде:
Edge - это класс имеющий в себе поля adjacentNode
указывающий на node и weight это вес самого узла.

Что такое Узел(Node) ?

💡Окей. Давай теперь поговорим о node(Узел).
Node является соединяющей частью Ребер(Edge).
Node часто имеет знамение(value), хранящие любой
тип данных который нам нужен. Так же мы
имеем LinkedHashSet<Edge> который хранит в себе все Edges.
И LinkedHashMap<Node, Edge> которая хранит в себе
key: Node; value: Edge.


#algorithms #java