Skip to content

Instantly share code, notes, and snippets.

@arcesino
arcesino / snake.js
Last active September 6, 2015 02:14
Write a function that prints the matrix to the standard output (stdout) on a single line starting in the upper-left corner and continuing clockwise, in circles, from exterior towards interior.
var snakePrint = function(numbers, width) {
var xyTo1D = function(x, y) {
return y * width + x;
};
var matrix = numbers.split(','),
directions = [[1, 0], [0, 1], [-1, 0], [0, -1]],
output = '',
snake = {
length: 0,
@arcesino
arcesino / next-lexicographically.groovy
Created March 14, 2016 03:04
Next lexicographically word
def makeItLarge(inputs) {
inputs.collect { input ->
nextLexicographically(input)
}
}
def nextLexicographically(input) {
def queue = new java.util.PriorityQueue<Character>()
def a = input.toCharArray()
def pivot = -1
@arcesino
arcesino / MatrixIslands.sc
Created November 16, 2016 23:20
Find largest island in a matrix
val matrix = Array(
Array(0, 1, 0, 0, 1),
Array(0, 1, 1, 1, 1),
Array(1, 0, 1, 1, 0),
Array(1, 1, 0, 0, 1)
)
val rows = matrix.indices
val columns = matrix(0).indices
@arcesino
arcesino / BinaryGap.java
Created January 21, 2017 20:38
Binary Gap (Java)
public class BinaryGap {
public static int maxBinaryGap(int N) {
int maxGap = 0;
int currentGap = 0;
boolean oneFound = false;
while (N > 0) {
if (N % 2 == 1) {
oneFound = true;
maxGap = Math.max(currentGap, maxGap);
@arcesino
arcesino / traceable-express-routes.js
Created November 24, 2023 12:00
Traceable Express route definition
const express = require('express');
const { getProfile } = require('../middleware/getProfile');
const validators = require('../middleware/validators');
const {
contractsController,
jobsController,
balancesController,
adminController
} = require('../controllers')