Change naming for Jump Game files.

This commit is contained in:
Oleksii Trekhleb
2018-07-10 07:23:25 +03:00
parent df17e29fb7
commit b71a2ebe9e
6 changed files with 37 additions and 37 deletions

View File

@ -0,0 +1,17 @@
import backtrackingJumpGame from '../backtrackingJumpGame';
describe('backtrackingJumpGame', () => {
it('should solve Jump Game problem in backtracking manner', () => {
expect(backtrackingJumpGame([1, 0])).toBeTruthy();
expect(backtrackingJumpGame([100, 0])).toBeTruthy();
expect(backtrackingJumpGame([2, 3, 1, 1, 4])).toBeTruthy();
expect(backtrackingJumpGame([1, 1, 1, 1, 1])).toBeTruthy();
expect(backtrackingJumpGame([1, 1, 1, 10, 1])).toBeTruthy();
expect(backtrackingJumpGame([1, 5, 2, 1, 0, 2, 0])).toBeTruthy();
expect(backtrackingJumpGame([1, 0, 1])).toBeFalsy();
expect(backtrackingJumpGame([3, 2, 1, 0, 4])).toBeFalsy();
expect(backtrackingJumpGame([0, 0, 0, 0, 0])).toBeFalsy();
expect(backtrackingJumpGame([5, 4, 3, 2, 1, 0, 0])).toBeFalsy();
});
});

View File

@ -1,17 +0,0 @@
import btJumpGame from '../btJumpGame';
describe('btJumpGame', () => {
it('should solve Jump Game problem in backtracking manner', () => {
expect(btJumpGame([1, 0])).toBeTruthy();
expect(btJumpGame([100, 0])).toBeTruthy();
expect(btJumpGame([2, 3, 1, 1, 4])).toBeTruthy();
expect(btJumpGame([1, 1, 1, 1, 1])).toBeTruthy();
expect(btJumpGame([1, 1, 1, 10, 1])).toBeTruthy();
expect(btJumpGame([1, 5, 2, 1, 0, 2, 0])).toBeTruthy();
expect(btJumpGame([1, 0, 1])).toBeFalsy();
expect(btJumpGame([3, 2, 1, 0, 4])).toBeFalsy();
expect(btJumpGame([0, 0, 0, 0, 0])).toBeFalsy();
expect(btJumpGame([5, 4, 3, 2, 1, 0, 0])).toBeFalsy();
});
});

View File

@ -1,17 +0,0 @@
import grdJumpGame from '../grdJumpGame';
describe('grdJumpGame', () => {
it('should solve Jump Game problem in greedy manner', () => {
expect(grdJumpGame([1, 0])).toBeTruthy();
expect(grdJumpGame([100, 0])).toBeTruthy();
expect(grdJumpGame([2, 3, 1, 1, 4])).toBeTruthy();
expect(grdJumpGame([1, 1, 1, 1, 1])).toBeTruthy();
expect(grdJumpGame([1, 1, 1, 10, 1])).toBeTruthy();
expect(grdJumpGame([1, 5, 2, 1, 0, 2, 0])).toBeTruthy();
expect(grdJumpGame([1, 0, 1])).toBeFalsy();
expect(grdJumpGame([3, 2, 1, 0, 4])).toBeFalsy();
expect(grdJumpGame([0, 0, 0, 0, 0])).toBeFalsy();
expect(grdJumpGame([5, 4, 3, 2, 1, 0, 0])).toBeFalsy();
});
});

View File

@ -0,0 +1,17 @@
import greedyJumpGame from '../greedyJumpGame';
describe('greedyJumpGame', () => {
it('should solve Jump Game problem in greedy manner', () => {
expect(greedyJumpGame([1, 0])).toBeTruthy();
expect(greedyJumpGame([100, 0])).toBeTruthy();
expect(greedyJumpGame([2, 3, 1, 1, 4])).toBeTruthy();
expect(greedyJumpGame([1, 1, 1, 1, 1])).toBeTruthy();
expect(greedyJumpGame([1, 1, 1, 10, 1])).toBeTruthy();
expect(greedyJumpGame([1, 5, 2, 1, 0, 2, 0])).toBeTruthy();
expect(greedyJumpGame([1, 0, 1])).toBeFalsy();
expect(greedyJumpGame([3, 2, 1, 0, 4])).toBeFalsy();
expect(greedyJumpGame([0, 0, 0, 0, 0])).toBeFalsy();
expect(greedyJumpGame([5, 4, 3, 2, 1, 0, 0])).toBeFalsy();
});
});

View File

@ -6,7 +6,7 @@
* @param {number[]} currentJumps - current jumps path.
* @return {boolean}
*/
export default function btJumpGame(numbers, startIndex = 0, currentJumps = []) {
export default function backtrackingJumpGame(numbers, startIndex = 0, currentJumps = []) {
if (startIndex === numbers.length - 1) {
// We've jumped directly to last cell. This situation is a solution.
return true;
@ -26,7 +26,7 @@ export default function btJumpGame(numbers, startIndex = 0, currentJumps = []) {
const nextIndex = startIndex + jumpLength;
currentJumps.push(nextIndex);
const isJumpSuccessful = btJumpGame(numbers, nextIndex, currentJumps);
const isJumpSuccessful = backtrackingJumpGame(numbers, nextIndex, currentJumps);
// Check if current jump was successful.
if (isJumpSuccessful) {

View File

@ -4,7 +4,7 @@
* @param {number[]} numbers - array of possible jump length.
* @return {boolean}
*/
export default function grdJumpGame(numbers) {
export default function greedyJumpGame(numbers) {
// The "good" cell is a cell from which we may jump to the last cell of the numbers array.
// The last cell in numbers array is for sure the "good" one since it is our goal to reach.