Skip to content

Instantly share code, notes, and snippets.

View rohit012's full-sized avatar

rohit chopra rohit012

View GitHub Profile
View sortCountStringTopK.js
/*Given a non-empty list of words, return the k most frequent elements.
Your answer should be sorted by frequency from highest to lowest. If two words have the same frequency, then the word with the lower alphabetical order comes first.
Example 1:
Input: ["i", "love", "leetcode", "i", "love", "coding"], k = 2
Output: ["i", "love"]
Explanation: "i" and "love" are the two most frequent words.
Note that "i" comes before "love" due to a lower alphabetical order.
Example 2:
@rohit012
rohit012 / comb.js
Created October 22, 2017 03:05
Combinations of string characters all unique
View comb.js
var combinations = function(str) {
var arr = str.split('');
for( var i=0; i< arr.length; i++){
genComb(arr, i+1);
}
}
function genComb(arr, length, str, index) {
str = str || '';
index = index || 0;
@rohit012
rohit012 / getElementByAttr.js
Created October 16, 2017 04:11
GetElementByAttr
View getElementByAttr.js
var traverseDOM = function(node, fn) {
fn(node);
node = node.firstChild;
while(node) {
traverseDOM(node, fn);
node = node.nextSibling;
}
}
@rohit012
rohit012 / debounce.js
Last active October 11, 2017 08:05
js debounce function
View debounce.js
var debounce = function(fn, time, immediate) {
var timeout;
return function() {
var that = this;
var args = arguments;
var later = function() {
if(!immediate){
timeout = null;
func.call(that, args);
@rohit012
rohit012 / flattenArray.js
Created October 11, 2017 06:28
Flatten array JS
View flattenArray.js
var flattenArray = function(arr) {
var results = [];
arr.forEach(function(item) {
if(Array.isArray(item)) {
results = results.concat(flattenArray(item));
} else {
results.push(item);
}
});
return results;
View Tries:Contacts.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class TriesContacts {
static class Node {
HashMap<Character, Node> links = null;
boolean isFinish;
View es6-promise.js
var myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(10);
}, 1000);
});
// handler can't change promise, just value
myPromise.then((result) => {
console.log(result);
}).catch((err) => {
View es6-letConst.js
var value1 = 100;
let value2 = 100;
{
var value1 = 200
let value2 = 200
}
console.log(value1); // 200
console.log(value2); // 100
View es6-spread.js
var state1 = {
val1 : 'abc',
val2: 'xyz'
};
var state2 = {
val2 : 'mno',
val3: 'xyz'
};
View es6-restParam.js
// rest param example
var multipleInputs = function (value, ...restParamValues ) {
restParamValues.forEach( function(paramVal){
// do something with paramVal
});
}