Complete "longest common ..." examples (#100)

* no else return

* fix var ref

* fix importing/requiring dependencies

* complete longest common examples
This commit is contained in:
Max Beatty
2019-03-28 14:52:55 -07:00
committed by Aditya Bhargava
parent c23ca90b83
commit 5b675cc2e8
22 changed files with 235 additions and 125 deletions

View File

@@ -1,7 +1,7 @@
export default function initialize_matrix(rows, cols){
let matrix = [];
for (let i = 0; i < rows.length; i++){
matrix.push(Array(cols.length).fill(0));
}
return matrix;
}
module.exports = function initialize_matrix(rows, cols) {
let matrix = [];
for (let i = 0; i < rows.length; i++) {
matrix.push(Array(cols.length).fill(0));
}
return matrix;
};

View File

@@ -1,25 +1,25 @@
import initialize_matrix as base from "./base.js";
const initialize_matrix = require("./base.js");
export default function diff( firstWord, secondWord ){
let arr1 = firstWord.split('');
let arr2 = secondWord.split('');
let matrix = initialize_matrix(arr1, arr2);
for (let i = 0; i < arr1.length; i++){
for (let j = 0; j < arr2.length; j++){
if( arr1[i] == arr2[j] ){
if( i > 0 && j > 0){
matrix[i][j] = matrix[i - 1][j - 1] + 1;
}else{
matrix[i][j] = 1;
}
} else {
if( i > 0 && j > 0){
matrix[i][j] = Math.max(matrix[i - 1][j], matrix[i][j - 1]);
}else{
matrix[i][j] = 0;
}
}
function diff(firstWord, secondWord) {
let arr1 = firstWord.split("");
let arr2 = secondWord.split("");
let matrix = initialize_matrix(arr1, arr2);
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
if (i > 0 && j > 0) {
matrix[i][j] = matrix[i - 1][j - 1] + 1;
} else {
matrix[i][j] = 1;
}
} else {
if (i > 0 && j > 0) {
matrix[i][j] = Math.max(matrix[i - 1][j], matrix[i][j - 1]);
} else {
matrix[i][j] = 0;
}
}
}
return matrix[arr1.length-1][arr2.length-1];
}
}
return matrix[arr1.length - 1][arr2.length - 1];
}