Rachit, an ex-Software Engineer@Microsoft starts off with solving easy Graph problems, then medium and then close the workout session with Graphs.
Join in for a fun evening filled with problem solving and graph algorithms.
Github solutions: https://github.com/rachitiitr/DataStructures-Algorithms/pull/49/files
In this video, I will be talking about problem-solving as a developer.
#problem solving skills #problem solving how to #problem solving strategies #problem solving #developer
In this video, I will be talking about how to ask for help as a developer.
#problem solving skills #problem solving how to #coding interviews #problem solving #how to ask a good question
MO’s Algorithm aka Square Root Decomposition, a very efficient and easy technique to solve **Range Query Problems (RQP). **For MO’s Algorithm to work, the RQP has to be offline. In this post, we will understand about RQP, Offline RPQ, Naive Approach to solve RQP and an Efficient Approach using MO’s Algorithm.
What is Range Query Problem?
You are given a sequence **_A _**of **_N _**values A₁, A₂, A₃, …, Aₙ. You also are given **_Q _**queries. In each query, you will be given two values l and r. Your task is to perform a function **_f(l, r) _**on the elements in the subsequence Aₗ, Aₗ₊₁, …, Aᵣ₋₁, Aᵣ
#programming #competitive-coding #algorithms #problem-solving #java #ico #software-development
In this post, we will look at the solution for Coin Change Problem using Greedy Algorithm.
But before that, let’s understand what Greedy Algorithms are in the first place.
Greedy Algorithms are basically a group of algorithms to solve certain types of problems. The key part about greedy algorithms is that they try to solve the problem by always making a choice that looks best for the moment .
The famous coin change problem is a classic example of using greedy algorithms.
Below is an implementation of the above algorithm using C++. However, you can use any programming language of your choice.
While the coin change problem can be solved using the Greedy algorithm, there are scenarios in which it does not produce an optimal result.
#tutorial #algorithm #data structure #algorithm analysis #greedy algorithm
Over the past few weeks, I’ve been working hard to get better at algorithms while working on projects and studying for interviews. I’ve encountered a few helpful strategies along the way, and wanted to share them with the world!
Here are some of the big ones that I’ve seen:
These patterns won’t help you solve every problem you’ll face, but they can improve your chances significantly. This article will cover the first three: frequency counter, multiple pointers, and sliding window. First, let’s talk about…
The frequency counter pattern is most useful in problems where you have multiple pieces of data/inputs to compare. For example, you might be trying to see if two inputs consist of similar values, are anagrams of one another, or if one value is contained inside the other. The frequency counter pattern can reduce the time complexity of your algorithm to O(n) instead of O(n²).