Open chichra opened 5 years ago
@pbiswas101 Similarly, this can be extended to sorting the columns of a matrix based on a row index.
For example , given matrix M = [[3 2 1] [4 6 5] [3 4 2]]
Sorting the rows by last column gives.
M =
[[3 2 1] [3 4 2] [4 6 5]]
@chichra can you be more specific on this:
sort the rows based on the values of column
I mean are you talking about just swapping two rows? and how do the sorting works? In the example you mentioned, what if the last row was [ 3 4 7 ]
and how this would affect the outcome!
@pbiswas101 I suppose, she is talking about swapping the two rows. If the last row was [ 3 4 7 ], please look at the below example.
M = [[3 2 1] [4 6 5] [3 4 7]]
Sorting the rows by last column gives. M = [[3 2 1] [4 6 5] [3 4 7]]
There is no swapping required in the above scenario. If this issue is fine and gets accepted, I would like to work on it.
For sorting rows by a column number let say 2, we have to look upon sorting the numbers in the given column. And accordingly the rows are swapped. Given : M= [[1 2 10], [4 6 5], [2 4 7]]
Sorting rows by 1 column gives: Since numbers in first column are 3 4 3 sorted = (3 3 4), we have A= [[1 2 10], [2 4 7], [4 6 5]]
Sorting rows by 2 column gives: Since numbers in second column are 2 6 4 sorted = (2 4 6), we have B= [[1 2 10], [2 4 7], [4 6 5]]
Sorting rows by 3 column gives: Since numbers in third column are 10 7 5 sorted = (5 7 10), we have C= [[4 6 5], [2 4 7], [1 2 10]]
@chichra I believe this is what you suppose to mean?
@sakshichahal53 yes absolutely, that is what I wanted.
@pbiswas101 as I mentioned earlier that similarly, this can be extended to sorting the columns of a matrix based on a row index.
For example , given matrix the same matrix, If i wish to sort (rather rearrange) the columns of matrix based on the values of row 1
Original matrix is M = [[3 2 1] [4 6 5] [3 4 2]]
Sorting the columns by row indices gives.
sorted matrix M(based on row 1)= [[1 2 3] [5 6 4] [2 4 3]]
sorted matrix M (based on row 2)= [[3 1 2] [4 5 6] [3 2 4]]
sorted matrix M (based on row 3)= [[1 3 2] [5 4 6] [2 3 4]]
I have a doubt: How will this help in competitive programming?
@chichra will you be working on this issue?
@pbiswas101 yes
@chichra okay, how are you planning to implement this?
please provide code snippets so as to show the usage of this function in terms of a matrix a
,
const a = new M.Matrix([ [3, 2, 1], [4, 6, 5], [3, 4, 2] ])
a.sort('row', 0) output will be [[1 2 3] [5 6 4] [2 4 3]]
a.sort('column', 0) [[3 2 1] [3 4 2] [4 6 5]]
The first parameter in function signature represents if we want to sort based on row/column and the second parameter denotes the index.
@chichra this issue is more or less similar to issue #152 and the sorting also need to include both ascending / descending order as mentioned in the PR #169
So, the overall implementation would be:
a.sort('row', true, 0)
where 2nd and 3rd arguments are optional! If the 3rd argument is to be omitted, then the behavior of sorting would go along as mentioned in issue #152
Hence, once that issue is resolved you may start working on this one, building on top of that implementation.
Yes, sure.
Do the checklist before filing the issue:
NOTE: Provide a clear and concise description of the feature that needs to be added! Or if its a bug, then provide the necessary steps to reproduce it along with screenshots.