Skip to content

Commit

Permalink
Inverts a matrix horizontally and vertically
Browse files Browse the repository at this point in the history
  • Loading branch information
CharlesCreativeContent authored May 10, 2020
1 parent 9e1543e commit cafbc81
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions matrixInversion.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image.
To flip an image horizontally means that each row of the image is reversed. For example, flipping [1, 1, 0] horizontally results in [0, 1, 1].
To invert an image means that each 0 is replaced by 1, and each 1 is replaced by 0. For example, inverting [0, 1, 1] results in [1, 0, 0].
Example 1:
Input: [[1,1,0],[1,0,1],[0,0,0]]
Output: [[1,0,0],[0,1,0],[1,1,1]]
Explanation: First reverse each row: [[0,1,1],[1,0,1],[0,0,0]].
Then, invert the image: [[1,0,0],[0,1,0],[1,1,1]]
Example 2:
Input: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
Output: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
Explanation: First reverse each row: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]].
Then invert the image: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
Notes:
1 <= A.length = A[0].length <= 20
0 <= A[i][j] <= 1
*/

//Answer//
/**
* @param {number[][]} A
* @return {number[][]}
*/
var flipAndInvertImage = function(A) {
return A.map(R=>R.map(x=>x==!Boolean).map(Number).reverse())
};

0 comments on commit cafbc81

Please sign in to comment.