
Explore the evolution of Go, a language developed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, to boost productivity with garbage collection, concurrent programming, and interface-based polymorphism.
Accept the license agreement after downloading the vscode user binary. Install vscode to the local directory C:, add the path, and finish the installation ready for use.
This session gives an overview of asymptotic analysis or Big-O notation on computation of algorithmic time complexity. It talks about performance impact of various factors on an application.
Practice computing O(m+n) linear time complexity by searching an element across two arrays in Golang, and analyze how big O ignores constants and lower-order terms.
Explore a Golang hands-on demonstration of a two-sum problem using nested loops to show quadratic time complexity, with m and n array sizes resulting in n squared.
Demonstrates computation of complexity in a conditional two-loop structure in Go, analyzing time complexity and big-O notation for worst-case growth in a hands-on Golang example.
Solve LeetCode 205 isomorphic strings in Golang using two hash maps to track character mappings between two strings, validate length and mapping consistency, and determine isomorphism.
Design a linked list from scratch in Golang for LeetCode 707, implementing a singly or doubly linked list with operations: constructor, add at head/tail, add/delete/get at index.
Delete the middle node of a singly linked list in Go using the tortoise and hare method, handling edge cases and returning the modified head.
Learn to remove the nth node from the end of a linked list using Golang, applying a two-pointer approach and handling edge cases in LeetCode problem 19.
Explore LeetCode 141: detect a linked list cycle in Golang using Floyd's algorithm with slow and fast pointers, returning true if a cycle exists and false otherwise.
Solve LeetCode problem 160: intersection of two linked lists with a Golang hands-on approach, computing lengths, aligning by difference, and tracing pointers to the intersection node.
Explore the stack data structure, a last-in, first-out structure with the top node. Learn push, pop, and peek operations and how stacks support browser navigation and editor undo.
Define a stack as a linked list in Go, implement push, pop, and peek, provide a constructor and an empty check to manage top elements through a head pointer.
Explore solving LeetCode 155 min stack using Go, implementing push, pop, top, and getMin in constant time with two stacks: a primary stack and a min-tracking auxiliary stack.
Explore the queue data structure and its first-in-first-out behavior, using front and rear pointers to enqueue at the rear and dequeue from the front, with integer or generic data.
Explore binary tree traversals, including depth-first options—preorder, inorder, and postorder—and breadth-first level order traversal, with root-first visits and left-right subtree processing.
Implement a preorder depth-first traversal of a BST in Golang, visiting each node and traversing the left and right subtrees in a hands-on solution.
Explore the computation of max depth, or height, of a binary tree, including node-count versus edge-count conventions, by walking through left and right subtrees and base cases.
Solve the LeetCode binary tree inorder traversal in Golang by using a helper to traverse left, visit root, and traverse right, collecting values in a result array.
Explore binary tree postorder traversal in Golang by recursively traversing left, then right, and visiting the node, collecting results in an array in this hands-on LeetCode lesson.
Solve LeetCode problem 100 in Golang to determine if two binary trees P and Q are structurally identical and have the same node values.
Flatten the binary tree to a right-skewed linked list in Go, preserving preorder order by linking right children and nulling the left.
Explore a Golang solution to determine if a binary tree is height balanced by the left-right height difference at each node, using a recursive isBalanced check and height function.
Learn to invert a binary tree in Go for LeetCode 226 with a hands-on postorder recursive solution that swaps left and right subtrees, producing a mirror image.
Learn a Golang solution for LeetCode 101 symmetry by inverting the right subtree and comparing it to the left, with a boolean result and recursive checks.
Design a simplified twitter in Golang that supports posting tweets, following and unfollowing, and viewing the ten most recent tweets in a user news feed.
Learn how to build your first Go string app by using string literals, escape sequences like newline and tab, and the length function to measure string length.
Explore a Go range-loop solution that counts pearls in Rosie’s necklace by iterating the string as runes and incrementing the count for non-hyphen characters.
Learn to find the pendant position in a necklace by iterating the string with a range loop in Go, capturing the index, and printing the pendant's position with fmt.
Deliver a Golang solution for LeetCode 58: length of last word, handling multiple spaces and returning last word's length using the strings package to trim and identify the last word.
Develop a Go solution for the longest common prefix by using the first string as the initial prefix and trimming it against each subsequent string, returning empty if none.
Learn to compute the final value of x after performing operations for LeetCode problem 2011, using a Golang solution with ++x, x++, --x, and x--.
Welcome to "Golang: Interview Bootcamp on HackerRank, Leetcode Algos" - The First of A Kind , one and only complete Data Structures and Algorithms with Golang on the internet.
This course aims to enable problem solving, approach and cognitive thinking efficiency in learners boost. The approach that I shall dive you across for gaining the same will be by methods discussed below.
Whiteboarding is most best approach adopted by learners to grasp the concept. On the same lines I have demonstrated data structures, algorithms and problems with quick visual walkthroughs. The focus and following features are adopted throughout the course.
Visual representation and learning: Helps learners pick up concepts and workflows on complex ideas with flowcharts, diagrams and animations. Pictorial representation also helps memory retention of the concept.
Problem solving: Simple breakdown of complex problems into tiny digestible modules are made.
Iterative and step-by-step learning: For better refinement and granular grasping of the algorithmic journey, the steps involved are drawn through iterative flows as the instructions on the design flows.
Algorithmic designs: Step-by-step walkover into the flow helps understanding of the design and identify potential optimizations as well.
Most of the Tier#1 and fortune 500 software companies prefer to carry out the coding interviews at various levels from freshers through Principal engineers on various coding platforms including but not limited to HackerRank, AlgoExpert, LeetCode, and SPOJ. The course by itself carries more than 65+ Coding exercises some of them carried out as independent code into the VSCode editor with Go compiler. Additionally we will also focus to practice coding via Hands-On exercise using LeetCode.
All of these will make you confident and prepared to walk into a coding interview.
What more can you get ?
I have additionally included the source code for all hands-on exercises as part of downloadable resources. You can download them , save and run them into your environment. This can help you add more features to the code, optimize, debug and learn.
Wide range of topics that we will cover are as follows:
Technical:
Big-O notation - impact & purpose.
Package Management in GO
Design
Strings
Data structures:
Hash Maps
Linked Lists
Stacks
Queues
Binary Trees
It is impossible to gain expertise into any topic discussed here unless you make your hands dirty. So I would suggest that you get started with an editor of your choice and start writing code yourself with me.
What are you waiting for ? Get started and I am excited to take you along this journey of learning Data Structures with LeetCode algorithms using Go !