Screen Recording from my development workflow

My Development Environment: kitty, zsh, Neovim, tmux, and lazygit

Until now I’ve been using Visual Studio Code as my primary code editor because I try different Linux distributions on my laptop and VSCode is available by default in almost every application manager. When I open a new project, the VSCode suggests relevant extensions based on the tech stack. After hearing the praises for Neovim from Primeagen and TJ DeVries I decided to give it a go along with other command line utilities like tmux and lazygit to test if they optimize my development workflow. ...

December 21, 2023 · 9 min · Avnish
Linked Lists

Linked Lists

The linked list data structure is used to store sequential data using nodes. A node contains a value and the memory address of the next node. Memory for a new node is allocated dynamically i.e. nodes are stored in the next available memory location. Unlike arrays where contiguous blocks of memory are allocated during declaration. The first element in a linked list is marked by its head pointer. Here is an implementation of Linked List in Go ...

November 17, 2023 · 13 min · Avnish
The longestConsecutive function will return the length of the longest sequence if consecutive numbers in the input array

Finding the Longest Consecutive Sequence in an Array

Problem Statement We have to implement the longestConsecutive function that takes an integer array as input and returns the length of the longest sequence of consecutive integers. For example, in array [4, 2, 7, 8, 1, 5, 6, 0] we have two sequences of consecutive integers: [0, 1, 2] and [4, 5, 6, 7, 8]. The longest sequence ([4, 5, 6, 7, 8]) has length 5. ...

November 9, 2023 · 6 min · Avnish
The encode function will encode a list of strings to a single string while the decode function will take the encoded string and return the original list of strings as output

Encoding and Decoding Functions for Strings

Problem Statement We have to implement an encode function that takes a list of string values as input and returns a single encoded string that could be transmitted over a network. On the other side of the network, the decode function will take the encoded string as input and return the original list of string values as output. A delimiter could be used to differentiate between words. For example, ["Hello", "World"] could be encoded with comma delimiter (,) to "Hello,World". ...

November 6, 2023 · 8 min · Avnish
The isValidSudoku function will return true if the input matrix represents a valid sudoku grid and false otherwise

Checking the Validity of a Sudoku Grid

Problem Statement We have to implement an isValidSudoku function that takes a 9x9 matrix (representing a Sudoku grid) as input and returns true if the grid is valid and false otherwise. Sudoku Grid A Sudoku grid is valid if Every row contains digits from 1 to 9 without repetition. Rows in a Sudoku Grid Every column contains digits from 1 to 9 without repetition. ...

November 2, 2023 · 12 min · Avnish
The productExceptSelf function will returns an array of products of all the elements without the element at the same index in input array

Building a Product Array without the Element Itself

Problem Statement We have to implement a productExceptSelf function that takes an integer array nums as input and returns another array answer as output. The element answer[i] will be the product of all elements in inputArray except inputArray[i]. The implementation should not contain a division (/) operation because the answer array could also be created by iterating over all elements in inputArray and dividing them from the product of the complete array. ...

October 28, 2023 · 5 min · Avnish
The topkFrequent function will return the top k most frequent elements in an array

Finding Most Frequent Elements in an Array

Problem Statement We have to implement a topKFrequent function that takes an integer array and a value k as input and returns the k most frequent elements in the input array. For example, topKFrequent({1, 1, 2, 2, 3, 5, 2}, 2) will return the top 2 most frequent elements in the array i.e. {2, 1}. If multiple elements have the same frequency, then any of them could be returned in the solution as long as its length is k. ...

October 26, 2023 · 7 min · Avnish
The groupAnagrams function will return an array with anagrams grouped together

Group Anagrams in an Array

Problem Statement We have to implement a groupAnagram function that takes an array of strings as input and returns a new array with anagrams grouped. The input string array is assumed to be composed entirely of lowercase English characters. Brute Force Solution If two strings are anagrams then their sorted order will be the same. Thus, anagrams could be grouped under their sorted order. ...

October 22, 2023 · 8 min · Avnish
The twoSums function will return the indices of two elements in the input array that sum up to the target value

Finding Elements in an Array that Sum Up to a Target Value

Problem Statement We have to implement a twoSums() function that takes an integer array and a target value as inputs. It returns the indexes of two elements in the input array which could be summed up to the target value. It is assumed that the input array contains only one valid pair of elements that sum up to the target value. Brute Force Solution The brute-force solution will find the sum of all element pairs in the array using nested loops. ...

October 15, 2023 · 4 min · Avnish
The isAnagram function will return true if both input strings are anagram and false otherwise

Identify Anagrams

Problem Statement We have to implement an isAnagram() function that takes two strings as input and returns true if they both are anagrams and false otherwise. Multiple words could be anagrams of each other if they contain the same characters with the same frequency of occurrence. For word counter: trounce is an anagram. trouncee isn’t an anagram, because the character e appears twice in trouncee. tounce isn’t an anagram, because the character r is missing. The inputs for the isAnagram() function are assumed to be composed of lowercase English characters including whitespace (" "). ...

October 12, 2023 · 6 min · Avnish