Dutch national flag problem and solution in Javascript Problem statement: The Dutch national flag (DNF) problem is one of the most popular programming problems proposed by Edsger Dijkstra. The flag of the Netherlands consists of three colors: white, red, and blue. The task is to randomly arrange balls of white, red, and blue such that balls of the same color are placed together. Now, let's consider an array with 3 distinct values say 0, 1 and 2. We won't be using any sort method and we need to sort this array in 0(n). Input Array : let arr = [ 0 , 2 , 1 , 0 , 1 , 2 , 0 , 2 ]; Expected Output: [ 0, 0, 0, 1, 1, 2, 2, 2 ] Solution Approach : When we see expected output, we can clearly see that sorted array is divided into 3 sections having values 0 , 1 and 2. So, let's divide the array in 3 sections: a) from 0th index to left boundary b) from left boundary to right boundary c) from right boundary to last index. Now we...
Diagonal Traversal of Matrix in Javascript
- Get link
- X
- Other Apps
Diagonal Traversal of Matrix/2D Array in Javascript
Problem statement:
In this post, we will traverse a given matrix/2D array diagonally (from center to top right corner). Refer below attached diagram for better understanding.
Diagonal pattern:
Expected Output:expected output :
1
6
11
16
2
7
12
3
8
4
Input Matrix:
let input2DArray = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
];
Solution Approach :
When we think about the pattern required, we can confirm that there will always be n number of diagonals that we will be traversing, that means the outer loop will be from 0 to n-1.
I have added below diagram for a matrix n x n:
Inner loop will be having 2 variables i and j as row and col of matrix. we can see that row index=i in each iteration starts from zero and j will start from the index= diagonal.
Let's write the code now:
let n = input2DArray.length;
for (let diag = 0; diag < n; diag++) {
// this loop will go from 0 to n-1,
// that is for each diagonal as shown in diagram.
for (let i = 0, j = diag; j < n && i < n; j++, i++) {
// i is always starting with 0
// but j will start with index equals to diag.
console.log(input2DArray[i][j]);
}
}
Output:
1
6
11
16
2
7
12
3
8
4
- Get link
- X
- Other Apps
Popular posts from this blog
Dutch national flag problem in Javascript
Dutch national flag problem and solution in Javascript Problem statement: The Dutch national flag (DNF) problem is one of the most popular programming problems proposed by Edsger Dijkstra. The flag of the Netherlands consists of three colors: white, red, and blue. The task is to randomly arrange balls of white, red, and blue such that balls of the same color are placed together. Now, let's consider an array with 3 distinct values say 0, 1 and 2. We won't be using any sort method and we need to sort this array in 0(n). Input Array : let arr = [ 0 , 2 , 1 , 0 , 1 , 2 , 0 , 2 ]; Expected Output: [ 0, 0, 0, 1, 1, 2, 2, 2 ] Solution Approach : When we see expected output, we can clearly see that sorted array is divided into 3 sections having values 0 , 1 and 2. So, let's divide the array in 3 sections: a) from 0th index to left boundary b) from left boundary to right boundary c) from right boundary to last index. Now we...
Hackerrank Problem : Save the Prisoner!
Hackerrank Problem: Save the Prisoner! A jail has a number of prisoners and a number of treats to pass out to them. Their jailer decides the fairest way to divide the treats is to seat the prisoners around a circular table in sequentially numbered chairs. A chair number will be drawn from a hat. Beginning with the prisoner in that chair, one candy will be handed to each prisoner sequentially around the table until all have been distributed. The jailer is playing a little joke, though. The last piece of candy looks like all the others, but it tastes awful . Determine the chair number occupied by the prisoner who will receive that candy. For example, there are prisoners and pieces of candy. The prisoners arrange themselves in seats numbered to . Let's suppose two is drawn from the hat. Prisoners receive candy at positions . The prisoner to be warned sits in chair number . Function Description Complete the...
Bubble Sort: Hackerearth Problem and solution
Bubble Sort: Hackerearth Problem and solution in java Problem : You have been given an array A A of size N N . you need to sort this array non-decreasing oder using bubble sort. However, you do not need to print the sorted array . You just need to print the number of swaps required to sort this array using bubble sort Input Format The first line consists of a single integer N N denoting size of the array. The next line contains N N space separated integers denoting the elements of the array. Output Format Print the required answer in a single line SAMPLE INPUT 5 1 2 3 4 5 SAMPLE OUTPUT 0 Solution in java: import java.util.*; class TestClass { public static void main(String args[] ) throws Exception { Scanner s = new Scanner(System.in); int N = s.nextInt(); ...


Comments
Post a Comment