feat: add determinant algorithm#1438
Conversation
gaurovgiri
left a comment
There was a problem hiding this comment.
The code seems fine to me. However, there's an issue with the initialization of the result variable on line no. 69. It's initialized to null, and later, calculations are performed on it. This will result in NaN because you cannot perform mathematical operations on null. You should initialize it to 0.
let result = 0
|
Hey @gaurovgiri , I have modified the code as requested. |
aayush105
left a comment
There was a problem hiding this comment.
The code looks fine to me. Good to go!
gaurovgiri
left a comment
There was a problem hiding this comment.
Now its fine! Great work, keep it up!
appgurueu
left a comment
There was a problem hiding this comment.
Looks fine. It should be noted that this uses the Laplace method, which is not optimal. The extreme O(n!) time complexity must be mentioned. (The optimal approach is to first apply Gaussian elimination (but being careful with swapping or scaling rows, which affects the determinant), then the determinant is just the product along the diagonal with the appropriate sign).
There was a problem hiding this comment.
Hey @appgurueu I have modified the code as requested.
- Made the note of the Laplace expansion and time complexity
- Remove unnecessary else statements
- Use throw and catch for errors
- Use not (!) operator instead of (=== false) comparison
piyushk77
left a comment
There was a problem hiding this comment.
@appgurueu I have seperated the test cases.
Describe your change:
Checklist:
Example:
UserProfile.jsis allowed butuserprofile.js,Userprofile.js,user-Profile.js,userProfile.jsare notFixes: #{$ISSUE_NO}.