A trie (pronounced as “try”) or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker. Implement the Trie class: Input [“Trie”, “insert”, “search”, “search”, “startsWith”, “insert”, “search”] [[], [“apple”], [“apple”], [“app”], [“app”], [“app”], [“app”]] Output: [null,… Continue reading
Month: January 2023
How TLS Works
TLS (Transport Layer Security) is a security protocol that is used to establish a secure communication channel between two systems, typically a web server and a web client (such as a web browser). Here is a high-level overview of how the TLS Handshake works:
C++ – Factory Design Pattern – Creation Design Pattern
The Factory design pattern is a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created. Here’s an example of how the Factory pattern might be implemented in C++: In this example, the Product class is an interface that… Continue reading
C++ – Strategy Design Pattern – Behavioral Design Pattern
The Strategy design pattern is a behavioral design pattern that defines a family of algorithms, encapsulates each one, and makes them interchangeable. It lets the algorithm vary independently from clients that use it. Here’s an example of how the Strategy pattern might be implemented in C++: In this example, the Strategy class is an interface… Continue reading
LFU Cache Implementation – LeetCode
Design and implement a data structure for a Least Frequently Used (LFU) cache. Implement the LFUCache class: Example 1: Input [“LFUCache”, “put”, “put”, “get”, “put”, “get”, “get”, “put”, “get”, “get”, “get”] [[2], [1, 1], [2, 2], [1], [3, 3], [2], [3], [4, 4], [1], [3], [4]] Output [null, null, null, 1, null, -1, 3, null, -1, 3, 4] This… Continue reading