# Functions
AllGridOrientations returns the 8 possible orientations of a given grid i.e.
CaesarShift performs a forwards caesar shift of a given shiftAmount.
CombinationsInts returns all combinations of an input slice of a given length.
MirrorStringGrid returns the grid mirrored over the y-axis (i.e.
PermuteIntSlice will make all permutations of the numbers input.
PermuteString generates all permutations for a given string.
PermuteStringSlice will make all permutations of a string slice.
RandomInt returns a random int from zero through upper - 1.
RotateGridInts will transpose a 2D array of ints.
RotateGrid returns the inputted grid, rotated counterclockwise call it multiple times for 180, & 270 degree rotations.
SlidingWindowSum returns the left and right indices of a window within the nums slice, where all numbers in the slice [left:right] sum up to targetSum It also returns a boolean indicating if a valid window is found.
SplitStringOn is like strings.Split but takes in a slice of strings that are all used as dividers in the incoming string.
ThreeSum returns the three values within a slice that sum to the target input and a boolean stating if a match was found.
TwoSum returns the two numbers found within a slice that add up to the input target, and a boolean to check if the sum is found or not.