Skip to content

Instantly share code, notes, and snippets.

View alexspark's full-sized avatar

Alex Park alexspark

  • Los Angeles, CA
View GitHub Profile
@alexspark
alexspark / learnES6.js
Created December 15, 2017 04:33
learnES6 created by alexspark - https://repl.it/@alexspark/learnES6
// constants
const NAME = `Alex Park`
console.log(`const: ${NAME}`)
// block scope: var vs let
// best explanation so far:
// https://www.sitepoint.com/joys-block-scoping-es6/
for (var i=0; i<3; i++) {
var j = i * i
}
@alexspark
alexspark / inUnique.js
Created May 20, 2017 22:34
inUnique created by alexspark - https://repl.it/IIzm/2
// Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?
// brute force: for each character, iterate over each character in word, if character is not self and is found, return false. time: O(n^2) where n is # of characters in word, space: O(1);
// first appraoch: for each character, look up visited hash table to see if it exists, if not add it to visited. if exists, return false. return true at end of loop. time: O(n), space: O(n);
let isUnique = (word) => {
let visited = {};
for (var char of word) {
if (!!visited[char]) {
return false
@alexspark
alexspark / inUnique.js
Last active May 20, 2017 22:34
inUnique created by alexspark - https://repl.it/IIzm/1
// Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?
// brute force: for each character, iterate over each character in word, if character is not self and is found, return false. time: O(n^2) where n is # of characters in word, space: O(1);
// first appraoch: for each character, look up visited hash table to see if it exists, if not add it to visited. if exists, return false. return true at end of loop. time: O(n), space: O(n);
let isUnique = (word) => {
let visited = {};
for (var char of word) {
if (!!visited[char]) {
return false
} else {
visited[char] = true;
@alexspark
alexspark / iterators.js
Last active May 20, 2017 19:33
ES6 Iterators and Generators
let fib = {
[Symbol.iterator]() {
let pre = 0, cur = 1;
return {
next() {
[pre, cur] = [cur, pre + cur];
return { done: false, value: cur }
}
}
}
@alexspark
alexspark / looped_linked_list.py
Last active February 24, 2017 06:43
How do you find if there is a loop in a singly linked list?
""" Given a singly linked list, how do you find if there is a loop?
assumptions:
- `head` can be None or the first node in a linked list
"""
def is_loop(head):
if head is None or head.next is None:
return false
else:
first, second = head, head.next