Skip to content

Instantly share code, notes, and snippets.

View MichaelDimitras's full-sized avatar

Michael Dimitras MichaelDimitras

  • San Francisco Bay Area
View GitHub Profile
@MichaelDimitras
MichaelDimitras / create-branch-from-ticket.py
Created February 26, 2021 20:43 — forked from thakichowdhury/create-branch-from-ticket.py
A script to help create git branches from ticket information in the format `issue_type/issue_key/issue-title-formatted-with-dashes`
#!/usr/bin/env python3
import re
import subprocess
from typing import List
## ------------ FUNCTIONS ------------ ##
def create_branch_from_ticket(issue_type: str, issue_key: str, issue_title: str) -> str:
# format issue_title to replace spaces with - and remove any non-alphanumeric chars
function tunnelPath(startPoint, endPoint, tunnels) {
const manhattan = function(p1, p2) {
return Math.abs(p1[0] - p2[0]) + Math.abs(p1[1] - p2[1]);
}
//init shortest to above ground between points
let shortestPath = manhattan(startPoint, endPoint);
const entrances = tunnels.map(item => [item[0], item[1]]);
/**
* @param {number[][]} envelopes
* @return {number}
*/
var maxEnvelopes = function(envelopes) {
let maxNested = 0;
let sorted = envelopes.slice(0).sort((a,b) => {
return (b[0] + b[1] - a[0] - a[1])
class Cashier {
constructor(//string priceList, float startingMoney, float salesTax){
//parse the csv priceList and store it as a nested json, where for each product key = sku, value =a json object of the products other properties
//Store the other parameters in respective properties
//Initialize a boolean inTransaction property to false.
//Initialize a transactions object where the key is transaction id, and values
//are a csv string of transacition details
}
function viewBalance() {
/**
* @param {number} capacity
*/
var LFUCache = function(capacity) {
this.capacity = capacity;
this.storage = {};
};
/**
* @param {number} key
@MichaelDimitras
MichaelDimitras / isSubsequence.js
Created May 14, 2018 17:00
Interview Questions
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isSubsequence = function(s, t) {
if(!s.length) {
return true;
}
let threads = [];
@MichaelDimitras
MichaelDimitras / sortCharactersByFrequency.js
Created May 14, 2018 16:22
Sort characters by frequency
var frequencySort = function(s) {
let charCounts = {};
for(let i = 0; i < s.length; i++) {
if(charCounts[s[i]]) {
charCounts[s[i]] += 1;
} else {
charCounts[s[i]] = 1;
}
class messageBus {
constructor() {
this.subscribers = {};
}
subscribe(topic, cb) {
if (this.subscribers[topic]) {
this.subscribers[topic].push(cb)
} else {
this.subscribers[topic] = [cb];
/*
* A function that takes an array of lowercase characters and returns
* an array in which all of the vowels are repeated.
* Time complexity: O(n)
* Space complexity: O(1)
*/
const vowelDoubler = function(arr) {
let numVowels = 0;
const vowels = new Set(['a', 'e', 'i', 'o', 'u']);
for(let i = 0; i < arr.length; i++) {
@MichaelDimitras
MichaelDimitras / gist:fdaafeb40a2dc4e98baebe1b3c288b7b
Created May 6, 2018 00:29
Muncheez Sample Queries with PostgreSQL
muncheez=# SELECT * FROM restaurants WHERE id=0;
id | name | address | url | phone | hours | lat | long
----+--------------+-----------------+---------------------+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+----------
0 | Magenta Coke | 2482 Marco Burg | https://haylee.info | 541-917-8798 | Monday: 9:00 AM – 9:00 PM, Tuesday: 9:00 AM – 9:00 PM, Wednesday: 9:00 AM – 9:00 PM, Thursday: 9:00 AM – 9:00 PM, Friday: 9:00 AM – 9:00 PM, Saturday: 9:00 AM – 9:00 PM, Sunday: 9:00 AM – 9:00 PM | -33.5837 | -146.592
(1 row)
muncheez=# SELECT * FROM restaurants WHERE name='Magenta Coke';
id | nam