Javascript is most popular scripting language and it is always in first row of stackoverflow tags page.
So why we should not use javascript to implement algorithms. Generally in coding interview, you will have freedom to write algorithms in your favorite language. If you are good at Javascript, then why to go with other languages.
Lets implement some algorithm stuff with JS. The below topics were covered in this article
1) String/Array, 2) Linked List, 3) Tree, 4) Heap, 5) Graph, 6) Sorting, 7) Recursion vs. Iteration,
8) Dynamic Programming, 9) Bit Manipulation, 10) Probability, 11) Combinations and Permutations
Then you will see console.
So why we should not use javascript to implement algorithms. Generally in coding interview, you will have freedom to write algorithms in your favorite language. If you are good at Javascript, then why to go with other languages.
Lets implement some algorithm stuff with JS. The below topics were covered in this article
1) String/Array, 2) Linked List, 3) Tree, 4) Heap, 5) Graph, 6) Sorting, 7) Recursion vs. Iteration,
8) Dynamic Programming, 9) Bit Manipulation, 10) Probability, 11) Combinations and Permutations
Debugging JS
to print content in console, we have to use below statementconsole.log('hello world');Use chrome or firefox to debug Javascript. Just "right click" > "inspect element" > "click on console".
Then you will see console.
Some useful operations in Javascript
To get char array from string
"Hello world!".split('') ["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]
Get char from index
var str = "HELLO WORLD"; var res = str.charAt(0); // 'H'
Get length of string
var str = "HELLO WORLD"; var res = str.length; // 11
Get length of array
var sarr = ["H","E"]; var res = sarr.length; // 2
Substring
var str = "HELLO WORLD"; var res = str.substring(1); // "ELLO WORLD" var res = str.substring(1,4); //"ELL"
Sort array
var nums= [4,2,3,1]; nums.sort(); // 1,2,3,4
Convert string to int
var num = parseInt("10");
Convert array to string
var sarr = ["H","E"]; var res = sarr.join(''); // HE
Slice and copy array
var nums= [4,2,3,1]; var newArr = nums.slice(); // copy array var newArr = nums.slice(1,3); // 2, 3
Reverse the array
var nums = [1, 2, 3, 4]; nums.reverse(); // [3, 4, 2, 1]
Remove Item From Array At Specific Index
var num = [1,2,3,4]; // array var j = 2; // index value num.splice(j,1); // removing 3 from the array
Add Item To Array At Specific Index
var num = [1,2,3,4]; // array var j = 2; // index value num.splice(j,0,5); // Add 5 at index 2
Verify if variable is not a number
var str = "sample"; isNaN(str) // true var num = 9; isNaN(num) // false
Iterate characters
for (var c = 'a'; c <= 'z'; c = nextChar(c)) { ........ } function nextChar(c) { return String.fromCharCode(c.charCodeAt(0) + 1); }
Map (key - value pair) implementation
// put value in map var map = {}; map['mykey'] = 'myvalue'; // check whether map contains key if(map['mykey'] != null) { // map contains key } // get value to the key var value = map['mykey']; // a method for getting key of a target value function getKey(map, target){ for (var i in map) { if (map[i] == target) { return i; } } return null; } // delete the key-value pair delete map[key];
Stack Implementation
var stack = []; //push value into stack stack.push(1); //pop value from stack stack.pop(1);
Queue Implementation
var queue = []; //push value into queue queue.push(2); // queue is now [2] queue.push(5); // queue is now [2, 5] //pop value from queue var i = queue.shift(); // queue is now [5] alert(i);
Classic Problems (String / Array)
- Rotate Array
- Reverse Polish Notation
- Isomorphic Strings
- Word ladder with Javascript
- Median of two sorted array
- Merge Intervals
- Insert Intervals
- Two Sum
- Merge sorted arrays
- Valid Parenthesis
- Three Sum
- Three Sum Closest
- Four Sum
- Longest Valid Parenthesis
- Minimum Size Sub Array Sum
- Longest Consecutive Elements Sequence
- Add binary values
- Largest Rectangle In Histogram
- Longest Sub String Without Repeating Characters
- Longest Sub String With Specified Number Of Unique Characters
- Longest Common Prefix
- Minimum Window Sub String
- Minimum Path Sum Of Triangle
- Anagrams
- Arrange Non Negative Integer Array To Generate Largest Number
- Container With Most Water
- Count and say
- Gas Station Problem
- Find Kth Largest Element In Array
- Letter Combinations Of Phone Number
- Max Points
- Pascal Triangle
- Pascal Triangle II
- Repeated DNA Sequence
- Search Range
- Simplify Path
Matrix
- Set Zeros
- Read Elements In Spiral Order
- Generate Spiral Matrix
- Rotate Matrix
- Search 2D Matrix
- Maximal Rectange
- Maximal Square
- Unique Paths
- Unique Paths II
- Minimum Path Sum
Graph
Permutations And Combinations
- Generate Permutations
- Generate Unique Permutations
- Find Kth Permutation
- Generate Parenthesis
- Combinations
- Combinations Sum Problems
------still writing-------
Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here.
ReplyDeleteKindly keep blogging. If anyone wants to become a Front end developer learn from javascript and jquery training in chennai .
or learn thru Javascript Training in Chennai.
Nowadays JavaScript has tons of job opportunities on various vertical industry. javascript and jquery training in chennai
2,2-dioctyl-1,3,2-dioxastannepine-4,7-dione - Alfa Chemistry offers an extensive catalog of polymer stabilizers in a wide range of applications. Products listed on our website are either in stock or can be resynthesized within a reasonable time frame. In stock products can be shipped out within 3-5 business days upon receipt of customers' purchase order.
ReplyDelete