Algorithms and Data Structures in Ruby Featured on Awesome-algorithms & Ruby-bookmarks This repository contains Ruby implementation of various Algorithms and Data structures and solution of many challenges of HackerRank and Codility Content : Searching Sorting Arrays Hashing Stacks Bit Algorithms Mathematics HackerRank Codility Searching Binary Search Ubiquitous Binary Search (Binary search implementation with various applications) Problems based on Binary Search Find fixed point in sorted array Find smallest missing number in sorted array Find majority element in sorted array Find minimum element in sorted rotated array Search element in sorted rotated array Find maximum element in a Bitonic Array Find no. of occurences of an element in a sorted Array Find floor and ceil of given element in a sorted Array Find the element with odd occurences if all other elements have even occurences Find the median of two sorted array of equal size Sorting Bubble Sort Optimized Bubble Sort Selection Sort Insertion Sort Shell Sort Merge Sort Quick Sort 3 way Quick Sort Counting Sort Pancake Sort Sort array in wave form Sort a given array by frequency of elements Radix Sort Heap Sort Arrays Swapping two numbers Algorithm for reversing an array Algorithms for array rotation Juggling Algorithm for array rotation Reversal Algorithm for array rotation Block Swap Algorithm for array rotation Recursive Iterative Subarray Problems(Kadane's Algorithm) Algorithm to find maximum continuos sum in an array Algorithm to find maximum continuos product in an array Find max diff between 2 elements such that larger appears after smaller(Approach 2) Find missing number in array Shuffling an Array Knuth shuffling Algorithm Fitcher-Yates shuffling Algorithm Find pair in array with sum equal to given value Find pair in array with difference equal to given value Find pair in array with sum closest to given value Find triplet in array with sum equal to given value Find Pythagorean triplet in given array Find equilibrium index in an array Find fixed point in an array fixed point in unsorted array fixed point in sorted array Dutch National Flag Problem Segregate Os and 1s in a given array Segregate Os,1s and 2s in a given array Move all zeros to the end of array Find all Leaders in an array Find smallest missing number in sorted array Majority Element in an array Find majority element in unsorted array(Moore's voting algorithm) Find majority element in sorted array Find minimum element in sorted rotated array Search element in sorted rotated array Find maximum element in a Bitonic Array Find no. of occurences of an element in a sorted Array Find floor and ceil of given element in a sorted Array Replace every element by product of previous and next Find the element with odd occurences if all other elements have even occurences Print the maximum element in each k-sized subarray Print Next Greatest Element for each element of array Replace every element by maximum element on the right side(Next Greatest Element) Find the smallest and second smallest in a given array Find the maximum sum with no adjacent elements Given two sorted arrays find the union and intersection of arrays Given unsorted array of numbers check if numbers are consecutive Sort a given array by frequency of elements Create a product array from given array Find the median of two sorted array of equal size Given a 2D array,print its all elements in spiral order Find two repeating elements in given array Minimum length unsorted subarray,sorting which makes the array sorted Find max diff between 2 elements such that larger appears after smaller Find duplicates in array in O(n) time and constant space Print all distinct elements of given array Given an array array, find the maximum j – i such that the element later is bigger Hashing Find pair in array with sum equal to given value(Approach 1) Find pair in array with difference equal to given value(Approach 2) Sort a given array by frequency of elements Print all distinct elements of given array(Approach 2) Stacks Print Next Greatest Element for each element of array Bit Algorithms Check if a given number is power of 2 or not Check if a given number is even or odd Given a number return a number with last bit unset Count the number of set bits(Brian Kernighan's method) Find missing number in array(Approach 2) Find two repeating elements in given array(Approach 4) Mathematics Fast multiplication of two numbers(Russian Peasant Multiplication) Babylonian Method to find Square root of a number Find missing number in array(Approach 1) Find two repeating elements in given array(Approach 1) Hacker Rank Algorithms Warm up A Very Big Sum Diagnol Difference Plus Minus Simple Array Sum Solve Me First Staircase Time Conversion Implementation Angry Professor Chocolate Feast Cut The Sticks Find Digits Service Lane Sherlock And Squares Sherlock And The Beast Utopian Tree Others 1.Modified Kaprekar Number~New approach added by @madmantalking Codility Lessons Iterations BinaryGap Arrays CyclicRotation Reversal Algorithm(Solution 1) Juggling Algorithm(Solution 2) OddOccurencesInArray Time-complexity FrogJmp PermMissingElem TapeEquilibrium Counting Elements FrogRiverOne MaxCounters Solution 1 Solution 2 MissingInteger PermCheck Prefix Sums CountDiv MinAvgTwoSlice Passing Cars Solution 1 Solution 2 Sorting Distinct MaxProductofThree Triangle Stacks and Queues Fish Brackets Nesting Leader Dominator Maximum Slice Problem MaxDoubleSliceSum Prime and Composite numbers CountFactors MinPerimeterRectangle Others Find the length of smallest array with the same binarian value

## kumar91gopi/Algorithms-and-Data-Structures-in-Ruby

## Algorithms and Data Structures in Ruby

This repository contains Ruby implementation of various Algorithms and Data structures and solution of many challenges of HackerRank and Codility

## Content :

## Searching

## Sorting

## Arrays

## Hashing

## Stacks

## Bit Algorithms

## Mathematics

## Hacker Rank

## Algorithms

## Warm up

## Implementation

## Others

1.Modified Kaprekar Number~New approach added by @madmantalking

## Codility

## Lessons

## Iterations

## Arrays

## Time-complexity

## Counting Elements

## Prefix Sums

## Sorting

## Stacks and Queues

## Leader

## Maximum Slice Problem

## Prime and Composite numbers

## Others