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...
Problem Statement:(👈click here for GFG)
Given an array arr[] of N non-negative integers representing the height of blocks. If width of each block is 1, compute how much water can be trapped between the blocks during the rainy season.
Example 1:
Input: N = 6 arr[] = {3,0,0,2,0,4} Output: 10 Explanation:![]()
Example 2:
Input:
N = 4
arr[] = {7,4,0,9}
Output:
10
Explanation:
Water trapped by above
block of height 4 is 3 units and above
block of height 0 is 7 units. So, the
total unit of water trapped is 10 units.
Example 3:
Input:
N = 3
arr[] = {6,9,9}
Output:
0
Explanation:
No water will be trapped.
Your Task:
You don't need to read input or print anything. The task is to complete the function trappingWater() which takes arr[] and N as input parameters and returns the total amount of water that can be trapped.
Expected Time Complexity: O(N)
Expected Auxiliary Space: O(N)
Constraints:
3 < N < 106
0 < Ai < 108
Solution:
class Solution {
trappingWater(arr, n) {
let left = 0, right = n - 1;
let leftMax = 0, rightMax = 0;
let result = 0;
while (left <= right) {
if (arr[left] <= arr[right]) {
if (arr[left] >= leftMax) {
leftMax = arr[left];
} else {
result += leftMax - arr[left];
}
left++;
} else {
if (arr[right] >= rightMax) {
rightMax = arr[right];
} else {
result += rightMax - arr[right];
}
right--;
}
}
return result;
}
}
Comments
Post a Comment