Skip to main content

Full Stack Developer Without Degree: How to Become One

If you're interested in becoming a Full Stack Developer without a degree, we've put together some tips and resources to help you get started. Learn the Fundamentals The first step to becoming a Full Stack Developer is to learn the fundamentals of coding. You can start with HTML, CSS, and JavaScript, which are the building blocks of web development. There are plenty of free resources available online, such as Codecademy and FreeCodeCamp, which offer interactive courses that teach you the basics of web development. Once you have a solid understanding of the basics, you can move on to more advanced topics such as back-end development, databases, and frameworks. You can learn these topics through online courses or by working on personal projects. Build a Portfolio One of the most important things you can do as a Full Stack Developer is to build a portfolio. Your portfolio should showcase your skills and experience and demonstrate your ability to build real-world applications. You c...

Stock buy and sell (DSA)

 


Problem Statement:(👈click here for GFG)

The cost of stock on each day is given in an array A[] of size N. Find all the segments of days on which you buy and sell the stock so that in between those days  for which profit can be generated

.

Note:
 Since there can be multiple solutionsthe driver code will print 1 if your answer is correct, otherwise, it will return 0. In case there's no profit the driver code will print the string "No Profit" for a correct solution.

Example 1:

Input:
N = 7
A[] = {100,180,260,310,40,535,695}
Output:
1
Explanation:
One possible solution is (0 3) (4 6)
We can buy stock on day 0,
and sell it on 3rd day, which will 
give us maximum profit. Now, we buy 
stock on day 4 and sell it on day 6.

Example 2:

Input:
N = 5
A[] = {4,2,2,2,4}
Output:
1
Explanation:
There are multiple possible solutions.
one of them is (3 4)
We can buy stock on day 3,
and sell it on 4th day, which will 
give us maximum profit.
Your Task:
The task is to complete the function stockBuySell() which takes an array A[] and N as input parameters and finds the days of buying and selling stock. The function must return a 2D list of integers containing all the buy-sell pairs i.e. first value of pair will represent the day on which you buy the stock and second value represent the day on which you sell that stock. If there is No Profit, return an empty list.

Expected Time Complexity: O(N)
Expected Auxiliary Space: O(N)

Constraints:
2 ≤ N ≤ 10^6
0 ≤ A[i] ≤ 10^6
Solution: 
class Solution {
    //Function to find the days of buying and selling stock for max profit.
    stockBuySell(A, n)
    {
        //your code here
            let answer = [];
    let flag = false; // indicates if a buy has been made

    for (let i = 0; i < n-1; i++) {
        // find local minima
        while (i < n-1 && A[i] >= A[i+1]) {
            i++;
        }

        let buy = i;

        // find local maxima
        while (i < n-1 && A[i] <= A[i+1]) {
            i++;
        }

        let sell = i;

        if (sell > buy) {
            answer.push([buy, sell]);
            flag = true;
        }
    }

    if (!flag) {
        return [];
    } else {
        return answer;
    }
    }
}

Comments

Popular posts from this blog

JavaScript For Loops: A Complete Tutorial

A for loop in JavaScript is a control structure that allows you to repeat a block of code a specified number of times. It is one of the most commonly used loops in JavaScript and is often used when you need to iterate over an array or perform some action a fixed number of times. The syntax for a for loop in JavaScript is as follows: for (initialization; condition; increment/decrement) {    // code to be executed } Here's a breakdown of what each part of the for loop does: Initialization: This is where you initialize the loop variable. It's only executed once before the loop starts. Condition: This is the condition that's checked before each iteration of the loop. If the condition is true, the loop continues. If it's false, the loop ends. Increment/decrement: This is where you change the value of the loop variable after each iteration of the loop. It can be an increment (++) or a decrement (--). Code to be executed: This is the code that's executed for each iteration...

Unlock the Power of JavaScript: A Comprehensive Guide to the Fundamentals of JavaScript

Learn the Fundamentals of javascript: From Variables to Objects: A Comprehensive Guide to Mastering the Fundamentals of JavaScript what is variable? In JavaScript, a variable is a container that holds a value. It is a named storage location that can store any type of data, including numbers, strings, booleans, objects, and more. To create a variable in JavaScript, you use the var , let , or const keywords followed by the variable name. For example, the following code creates a variable named myNumber and assigns it the value 42: var myNumber = 42; Once a variable is created, you can use its value in your code or assign a new value to it using the assignment operator (=).  For example: myNumber = 10; In JavaScript, variable names can consist of letters, digits, underscores, and dollar signs. However, variable names must start with a letter, underscore, or a dollar sign (not a digit), and cannot contain spaces or special characters such as punctuation marks. Additionally, variable n...

Top questions about JavaScript Data Types and Declarations: Strings, Numbers, Booleans, and NaN

How do you declare a string value in JavaScript? To declare a string value in JavaScript, you can use single quotes, double quotes, or backticks. let str = "SmartTechLearning"; let str = 'SmartTechLearning'; let str = `SmartTechLearning`; //Here in javascript strings are text values. so when we declare a text value we need to use "" for that value otherwise it will give us ReferenceError How do you declare a number value in JavaScript? To declare a number value in JavaScript, you can simply assign a number to a variable using the let or const or var,  let num = 12; let pi = 3.14;         // floating-point number const maxNumber = 9000; // constant integer value //In javascript we don't need to use "" or '' or `` these symbols only for string values. if we use "12" then it will become a string, not a number. In JavaScript, all numbers are represented using the number data type , which can include both integer and floating-point...