Skip to content

Instantly share code, notes, and snippets.

View akinjide's full-sized avatar

Akinjide Bankole akinjide

View GitHub Profile
/**
Find the longest substring in string. Output the length of the substring
e.g
s = 'ababc'
sub = 3
*/
const s = 'ababc';
/**
Write a function that takes three arguments, 2 arrays (a and b) and 1 integer (c)
then returns one array (d) which is created by inserting all elements in b into a at indexes
which are spaced by the integer value.
Consider all possible corner cases and print out the final array (d).
e.g
a = ["a", "b", "c", "d", "e", "f"]
b = ["1", "2", "3"]
c = 2
var colors = ["black", "blue", "brown", "green"];
var doc = document.getElementById("content");
var text = doc.innerHTML.split(" ");
function changeColor() {
doc.innerHTML = "";
text.forEach(function(word, i) {
if (i != text.length) {
word += "\n";
// O (N^2)
var theArray = Array.prototype.slice.call(process.argv[2]);
var startTime
var endTime
console.log(theArray, 'unSorted')
function swapValues(one, two) {
var temp = theArray[one]
theArray[one] = theArray[two]
var cacheName = 'weatherPWA-step-6-1';
var dataCacheName = 'weatherData-v1';
var filesToCache = [
'/',
'/index.html',
'/scripts/app.js',
'/styles/inline.css',
'/images/clear.png',
'/images/cloudy-scattered-showers.png',
'/images/cloudy.png',
@akinjide
akinjide / caesarCipher.js
Last active November 13, 2018 11:36
one of the simplest and most widely known encryption techniques.
/**
* Returns the result of having each alphabetic letter of the given text string shifted forward
* by the given amount, with wraparound. Case is preserved, and non-letters are unchanged.
*
* i.e.
*
* - caesarShift({ text: "abz", shift: 0 }) = "abz".
* - caesarShift({ text: "abz", shift: 1 }) = "bca".
* - caesarShift({ text: "abz", shift: 25 }) = "zay".
* - caesarShift({ text: "THe 123 !@#$", shift: 13 }) = "GUr 123 !@#$".
let cache = {}
const complex_computation = (a, b, timeout=5000, callback) => {
setTimeout(() => {
callback(null, a + b)
}, timeout)
}
const cached_computation = (a, b, callback) => {
const key = a + ':' + b
@akinjide
akinjide / staircase.js
Created March 2, 2018 08:07
Staircase problem implemented in JavaScript
// Time Complexity O(n2)
const staircase = (n, c) => {
let y = [];
let s;
for (let i = 1; i <= n; i++) y[i - 1] = i;
for (let j = 1; j <= n; j++) {
s = y.length - j;
console.log(' '.repeat(s), c.repeat(j));
@akinjide
akinjide / callback.js
Created February 27, 2018 18:05
Callback
Array.prototype.click = function(fn, thisArg) {
const _self = thisArg || this;
for (let i = 0; i < _self.length; i++) {
fn.apply(thisArg, [_self[i], i, thisArg]);
// Mutation.
thisArg.values[i] = i;
}
};
@akinjide
akinjide / get_http.js
Last active July 7, 2017 19:47
Native HTTP Request using Promise
const get = (url) => {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
resolve(JSON.parse(xhr.responseText));
} else {
reject(xhr);