# STRIVERS SDE SHEET – A Complete Guide for SDE Preparation

Did you know that the average annual income of a Software Development Engineer is approximately 18.5 lakhs in India?

This basically implies that SDE is clearly one of the most sought after positions in the field of programming and development.

Are you looking forward to working as a Software Development Engineer?

If yes, then let us introduce you to one of the most resourceful study materials to help you clear your SDE interview with flying colors- the **Strivers SDE Sheet**.

This guide is a one stop solution for people who want the best results in their SDE sheet contains top coding interview questions that are very conveniently designed and selected from various data structure topics.

Along with the Strivers Sheet you can also use the infamous “Cracking the code inrview” to build a stronger foundation for your SDE interview.

**What is the Strivers Sheet for SDE?**

From MCQs to lengthier coding questions, the SDE Strivers Sheet has accurately covered all the important round wise segments and questions that are commonly asked during a software developer coding interview.

Now, would you like to have a look at the important concepts that can guarantee your spot as a software engineer in your dream company? Then let’s start with arrays and we’ll move forward to other concepts.

**Day 1**

It’s day 1, let’s start with solving a few array questions first. Here’s an example of an array question:

#### Arrays

An Array can be defined as the collection of similar elements that are usually stored in contiguous memory locations.

Here’s a set matrix zero question based on arrays:

**Set Matrix Zero Question**

**Problem Statement-** You have been given a matrix. One of the components within the matrix equals zero. The challenge here is to make sure that the entire column or row of the 0 value component, turns into zero.

**Approach: **You can employ brute force algorithms, use hash maps and nested loops to solve the set matrix zero problems.

**Day 2**

Done with the array questions? Now it’s time to move on to the Next Permutation questions for Day 2. So let’s have a look:

**Next Permutation**

The next permutation within an array of a given set of integers can be defined as the lexicographically greater permutation of the set of integers.

Check out the following problem based on Next Permutation:

**Problem Statement- **You have been provided an array of integers Arr[], the challenge is to rearrange the numbers in the given array lexicographically to the next highest numerical permutation.

If such sorting is not possible, you should sort in the lowest possible order (that is, sort in ascending order).

**Approach:** The best approach for solving the next permutation is to generate all the possible permutations for the given array and send the permutation that is greater than all the arrays.

**Day 3**

For day three, we have yet another array problem which is related to sorting an array. Here’s an example:

**Sort an array of 0’s, 1’s and 2’s**

Problems based on sorting an array of 0’s, 1’s and 2’s are generally solved by placing all the 0’s in the front of an array followed by 1’s and 2’s.

**Problem Statement- **You have been provided an array consisting of only 1’s, 0’s and 2’s. The challenge in this problem statement is to give a program that indicates an in-place sorting of the array without making use of the in-built sorting functions.

**Expected:** (Constant space and Single pass- O(N))

**Approach:** For solving problem statements related to sorting an array of 0’s, 1’s and 2’s you can apply brute force algorithm and single traversal method.

**Day 4**

Moving on to day 4, we have a problem based on stock and buy. Take a look at this example and see if you can solve the problem.

**Stock buy and sell**

In the case of stock buy and sell problems, a simple approach would be to buy the stocks and sell them every day whenever you find the market profitable.

Let’s test if you can solve the following problem statement related to the concept of stock, buy and sell.

**Problem Statement- **Get a set of prices. where price[i] is the price of the particular stock on day i.

By choosing one day to buy shares and another day in the future to sell those shares, we want to maximize our profit. Returns the maximum profit that can be obtained from this transaction. Returns 0 if there is no profit.

**Approach:** Using two loops is the optimal solution for solving stock buy and sell problems.

**Day 5**

For day 5 we have arrived at the fun part of coding practice! Have a look at the following problem related to linked lists:

**Linked List**

Linked lists can be defined as linear data structures that do not follow a definite order.

Interested in creating linked lists? Try solving the following problem!

**Find the reverse of a linked list**

**Problem Statement- **You have been provided the head of a singly linked list, the intermediate nodes of the linked list are returned. If there are two intermediate nodes, return the second intermediate node.

**Approach:** You can reverse a linked list using the iterative approach.

**Add two numbers represented as Linked Lists**

**Problem Statement- **You are given the heads of two non-empty linked lists that consist of two non-negative integers. Numbers are stored in reverse order and each node contains one number. Add two numbers and return the sum as a linked list.

**Approach:** You can add two numbers represented as Linked Lists by reversing and traversing the lists.

The Strivers SDE Sheet hosts a collection of more such concepts on coding and programming that will surely help in setting you on the right track with regards to cracking the Software Developer interview and more.

Another exemplary guide that has incredibly described the tips and tricks for passing the Software Developer interview is **Cracking the code interview**.

**Wrapping Up **

When exemplary study guides and materials such as Strivers SDE Sheet and Cracking the coding interview are readily available both online and as hard copies, then do not wait another minute and start preparing for your Software Developer interview today!