Skip to content

Instantly share code, notes, and snippets.

View GreggSetzer's full-sized avatar

Gregg GreggSetzer

  • USA
View GitHub Profile
@GreggSetzer
GreggSetzer / es6-steps.js
Last active March 8, 2023 02:08
Javascript Interview Question: Stairs
/*
A simple iterative solution to building steps.
Uses String.prototype.repeat which is an ES2015 feature.
*/
function steps(n) {
for (let i = 1; i <= n; i++) {
let step = '#'.repeat(i) + ' '.repeat(n - i);
console.log(step);
}
}
@GreggSetzer
GreggSetzer / vowel.js
Last active October 18, 2022 16:28
JavaScript Interview Question: Find all Vowels in a string
/*
Create a function to return the total number of vowels in a string.
Use String.prototype.match() to find matches
using a regular expression.
/[aeiou]/gi
// denotes a regex pattern.
[] instructs match() to find any of these characters.
@GreggSetzer
GreggSetzer / anagram.js
Last active March 8, 2020 15:22
Javascript Interview Question: Anagram
/*
Check to see if two strings are anagrams, where both strings have the same characters in the same quantity.
Only consider characters, not spaces and punctuation. Consider the strings as case insensitive, where capital
letters are the same as lowercase letters.
*/
function anagram(str1, str2) {
//Step 1: Create a data store for each string.
const charMap1 = getCharMap(str1);
const charMap2 = getCharMap(str2);
@GreggSetzer
GreggSetzer / ip.txt
Created August 29, 2018 19:36
Retrieve your local IP address at Mac Command LIne
alias ip='ifconfig | grep "inet " | grep -v 127.0.0.1 | cut -d\ -f2'
@GreggSetzer
GreggSetzer / es6-pyramid.js
Last active August 3, 2018 16:42
Javascript Interview Question: Pyramid
/*
This function builds a pyramid using ES6 repeat function available on the String prototype.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
colSize: is the width of the grid in columns. Also think of it as the width of the last row in the pyramid.
level: This represents the width of the pyramid level at each iteration.
numSpaces: This represents the number of spaces to use on both sides of the pyramid.
spaces: This variable is used to cache the result of String#repeat(), no need to do the same work twice.
*/
@GreggSetzer
GreggSetzer / tree.js
Last active July 27, 2018 18:52
JavaScript Interview Question: Tree
class Node {
constructor(data) {
this.data = data;
this.children = [];
}
add(data) {
this.children.push(new Node(data));
}
@GreggSetzer
GreggSetzer / linked-list.js
Last active July 27, 2018 13:42
JavaScript Interview Question: Linked List
/*
Linked List example.
*/
/**
* Node class
* Contains two properties and no methods.
* data - The data to be stored in a single node.
* next - The reference to the next node in the chain.
*/
@GreggSetzer
GreggSetzer / find-largest-integer-in-array.js
Created July 16, 2018 15:51
JavaScript Interview Question: Largest integer in array?
/*
Return the largest value in an array of non-negative integers
*/
function largestInt(arr) {
if (arr.length === 0) {
return -1;
}
return arr.reduce(comparator);
@GreggSetzer
GreggSetzer / equality.js
Created July 16, 2018 15:39
JavaScript Interview Questions: Equality
/*
Write a function that determines whether two integers are equal without using any comparison operators.
Use the bitwise XOR operator.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_XOR
Using XOR, if any of the bits are different, a 1 is returned, otherwise, a 0 is returned.
*/
function isEqual(n1, n2) {
return (n1 ^ n2) === 0;
@GreggSetzer
GreggSetzer / spiral-matrix.js
Last active July 7, 2018 18:10
Javascript Interview Question: Spiral Matrix
/*
Draw a spiral matrix.
[ 1, 2, 3, 4]
[12, 13, 14, 5]
[11, 16, 15, 6]
[10, 9, 8, 7]
1. Initialize the multidimensional array.
2. Create counter variables to track positions.