diff --git a/Task 1/Container with most water/Question.md b/Task 1/Container with most water/Question.md
index bac07de7..689d67c2 100644
--- a/Task 1/Container with most water/Question.md
+++ b/Task 1/Container with most water/Question.md
@@ -1,3 +1,34 @@
-Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of the line i is at (i, ai) and (i, 0). Find two lines, which, together with the x-axis forms a container, such that the container contains the most water.
+Given an array of n non-negative integers a1, a2, ..., an , where each element represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of a line i is at (i, ai) and (i, 0). Find two lines, which, together with the x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
+
+Example:
+a) Input: n=9
+lines = [1,8,6,2,5,4,8,3,7]
+Output: 49
+Explanation: The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water the container can contain is 49 which lies between the index(1,8) i.e, between the line 8 at 1st position and line 7 at 8th position.
+
+
+b) Input: n=5
+lines = [4,3,2,1,4]
+Output: 16
+Explanation: The container containing most water lies between the index 0 and 4 i.e, between the line 4 at 0th position and line 4 at 4th position.
+
+
+Approach: Two Pointer Approach
+
+The max area is calculated by the following formula:
+Area= (j - i) * min(lines[i], lines[j])
+
+We should choose (i, j) so that Area is max. Note that i, j go through the range (1, n) and j > i.
+The simple way is to take all possibilities of (i, j) and compare all obtained Area. The time complexity will be O(n)^2.
+
+But, What we gonna do is to choose all possibilities of (i, j) in a wise way. If:
+lines[i] < lines[j] we will check the next (i+1, j) (or move i to the right)
+lines[i] >= lines[j] we will check the next (i, j-1) (or move j to the left)
+Here is the explaination for that:
+When lines[i] < lines[j] , we don't need to calculate all (i, j-1), (i, j-2), .... Why? because these max areas will be smaller than our Area at (i, j).
+
+NOTE: The Time complexity of this solution is O(n).
+
+
diff --git a/Task 1/HAckerrank_rank/Solution.js b/Task 1/HAckerrank_rank/Solution.js
new file mode 100644
index 00000000..90a689ac
--- /dev/null
+++ b/Task 1/HAckerrank_rank/Solution.js
@@ -0,0 +1,35 @@
+var arr=[['rancho',45],['chatur',32],['raju',30],['farhan',28],['virus',32],['joy',45]]
+var N=arr.length;
+for(var i=0;i0){
+ if(arr[i-1][1]==arr[i][1]){
+ console.log(rank+" "+arr[i][0])
+ a++
+ }
+ else{
+ rank=rank+a
+ console.log(rank+" "+arr[i][0])
+ a=1
+ }
+
+
+ }else{
+ console.log(rank+" "+arr[i][0])
+
+
+ }
+}
\ No newline at end of file
diff --git a/Task 1/HAckerrank_rank/question.md b/Task 1/HAckerrank_rank/question.md
new file mode 100644
index 00000000..ff828eac
--- /dev/null
+++ b/Task 1/HAckerrank_rank/question.md
@@ -0,0 +1,9 @@
+You are given name and marks of N different students in a hackerrank contest. Your task is to write a program that makes leaderboard of the students under following conditions:
+
+- If two students get same marks they get same rank
+
+- The student placed next to the same marks students will get the rank skipping the intermediate ranks.
+
+Refer to the sample test case for better understanding
+
+Note : You cannot use built-in sort function. Using that can lead to disqualification. Write your own sorting algorithm
\ No newline at end of file
diff --git a/Task 3/rotate 90_matrix/rotate_2d_arr.js b/Task 3/rotate 90_matrix/rotate_2d_arr.js
new file mode 100644
index 00000000..4a794d73
--- /dev/null
+++ b/Task 3/rotate 90_matrix/rotate_2d_arr.js
@@ -0,0 +1,23 @@
+//Given a squarematrixof sizeN, turn it by 90 degrees in an anti-clockwise direction, as shown in sample input.
+// Output
+// You have to display therotated matrix.
+
+function rotateBy90(N, matrix){
+ //write code here
+ for(var i=R-1;i>=0;i--){
+ var out=[]
+ for(var j=0;j