From f45ce868de06ebb46657b4d6b85c1539596a21d5 Mon Sep 17 00:00:00 2001 From: hardik chitkara <56203317+hardikchitkara@users.noreply.github.com> Date: Thu, 11 Mar 2021 13:55:11 +0530 Subject: [PATCH 1/2] Staircase search --- .../StairCase Search/StairCase_Search.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Search_Techniques/StairCase Search/StairCase_Search.js diff --git a/Search_Techniques/StairCase Search/StairCase_Search.js b/Search_Techniques/StairCase Search/StairCase_Search.js new file mode 100644 index 00000000..e1f52dcb --- /dev/null +++ b/Search_Techniques/StairCase Search/StairCase_Search.js @@ -0,0 +1,23 @@ +var arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[23,24,25,26]]; +var search=26; +var n = arr.length-2; +var rows = arr.length; +var test = matchedValue(arr,n,search); +console.log(test); +function matchedValue (arr,n, m) { +var i =0; + while ( i < rows && n>= 0) { + if (arr[i][n] === m) { + return { + row: i, + col : n + }; + } + if (arr[i][n] > m) { + n--; + } else { + i++; + } +} +return "Element is not found "; +} From 65dbdf5b3c385fa44df8e8e7d181283f02bc3058 Mon Sep 17 00:00:00 2001 From: hardik chitkara <56203317+hardikchitkara@users.noreply.github.com> Date: Fri, 12 Mar 2021 00:55:46 +0530 Subject: [PATCH 2/2] ADDED COMMENTS --- .../StairCase Search/StairCase_Search.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Search_Techniques/StairCase Search/StairCase_Search.js b/Search_Techniques/StairCase Search/StairCase_Search.js index e1f52dcb..c45ec16f 100644 --- a/Search_Techniques/StairCase Search/StairCase_Search.js +++ b/Search_Techniques/StairCase Search/StairCase_Search.js @@ -1,23 +1,26 @@ -var arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[23,24,25,26]]; -var search=26; +var arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[23,24,25,26]]; //INPUT ARRAY +var search=26;// ELEMENT TO BE SEARCHED IN 2D ARRAY var n = arr.length-2; var rows = arr.length; -var test = matchedValue(arr,n,search); -console.log(test); -function matchedValue (arr,n, m) { +var test = matchedValue(arr,n,search);//CALLING A FUNCTION WHICH RETURNS OBJECT WHICH SHOWS RESPECTIVE ROW AND COLUMN +console.log(test);// PRINT REQUIRED OBJECT +function matchedValue (arr,n, m) {// FUNCTION WHICH FINDS RESPECTIVE ROW AND COLUMN var i =0; while ( i < rows && n>= 0) { + if (arr[i][n] === m) { + //HERE WE WILL RETURN THE REQUIRED OBJECT return { row: i, col : n }; } if (arr[i][n] > m) { - n--; + n--;//IF VALUE IS LARGER THAN VALUE TO BE SEARCHED THEN DECREASE THE COLUMN } else { + // IF VALUE IS SMALLER THAN VALUE TO BE SEARCHED THEN INCREASE THE ROW i++; } } -return "Element is not found "; +return "Element is not found ";// IF THE WHILE LOOP ENDED, THEN THERE IS NO ELEMENT PREASENT AND RETURN THE STRING }