jkyletreman / easy_algorithms

Practice algorithms, testing and linting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Algorithms

Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Reverse An Integer

Reverse digits of an integer. Don't create strings or turn it into a string.

Example 1: Input: 123 Output: 321

Example 2: Input: -123 Output: -321

Example 3: Input: 120 Output: 21

Group Anagrams

Given an array of strings, group anagrams together.

For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"], Return:

[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ]

Letter Frequency

Given a string and a target letter, determine how many times that letter appears in the given string.

Valid Parens

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

Is Palindrome: Integers

Determine whether an integer is a palindrome.

Nim

You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.

Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.

For example, if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.

Testing

  • Mocha Chai testing
  • Circle ci integration

About

Practice algorithms, testing and linting


Languages

Language:JavaScript 100.0%