Untitled
unknown
plain_text
3 years ago
1.6 kB
6
Indexable
function specificDiagonals(R, C, matrix, K){ var row = -1,col = -1; var isFound = false; var s1 = ""; var s2 = ""; for(var i=0; i<R; i++) { if(isFound === true) { break; } for(var j=0; j<C; j++) { if(matrix[i][j] === K) { row = i; col = j; break; } } } var p = row, q = col; var r1=-1, c1=-1; // Primary Diagonal while(p >= 0 && q >= 0) { if(p === 0 || q === 0) { r1 = p; c1 = q; break; } p--; q--; } var r2 = -1, c2=-1; // Secondary Diagonal while(row >= 0 && col <= C-1) { if(row === 0 || col === C-1) { r2 = row; c2 = col; break; } row--; col++; } primaryDiag(matrix, R, C, r1, c1, s1); secondaryDiag(matrix, R, C, r2, c2, s2); } function primaryDiag(matrix, R, C, r1, c1, s1) { while(r1<R || c1<C) { if(r1=== R-1 || c1 === C-1){ s1 += matrix[r1][c1] + " "; break; } s1 += matrix[r1][c1] + " "; ++r1; ++c1; } console.log(s1); } function secondaryDiag(matrix, R, C, r2, c2, s2) { while(r2<R || c2>0) { if(r2=== R-1 || c2 === 0){ s2 += matrix[r2][c2] + " "; break; } s2 += matrix[r2][c2] + " "; ++r2; --c2; } console.log(s2); }
Editor is loading...