Skip to content

Instantly share code, notes, and snippets.

View Coutlaw's full-sized avatar

Cass Outlaw Coutlaw

View GitHub Profile
@Coutlaw
Coutlaw / generics.go
Last active December 17, 2021 17:42
Generics in Go
// This is a function to pull all the keys from a map and return them
// Its bad because it only works for strings right now
func getKeys(m map[string]int) []string {
var keys []string
for k := range m {
keys = append(keys, k)
}
return keys
}
.intercom-app,
.intercom-launcher-frame,
#intercom-container {
display: none !important;
}
button,
input,
optgroup,
select,
@Coutlaw
Coutlaw / reverse_prefix.go
Created November 29, 2021 22:00
reverse the prefix in a word, leetcode #2000 https://leetcode.com/problems/reverse-prefix-of-word/
/*
Given a 0-indexed string word and a character ch, reverse the segment of word that starts at index 0 and ends at the index of the first occurrence of ch (inclusive). If the character ch does not exist in word, do nothing.
For example, if word = "abcdefd" and ch = "d", then you should reverse the segment that starts at 0 and ends at 3 (inclusive). The resulting string will be "dcbaefd".
Return the resulting string.
Example 1:
@Coutlaw
Coutlaw / length_of_last_word.go
Last active November 29, 2021 21:58
Length of last word in a string, leetcode #58 https://leetcode.com/problems/length-of-last-word/
/*
Given a string s consisting of some words separated by some number of spaces, return the length of the last word in the string.
A word is a maximal substring consisting of non-space characters only.
Example 1:
Input: s = "Hello World"
@Coutlaw
Coutlaw / i32_reverser.rs
Last active June 7, 2020 11:41
leetcode: reverse i32 preventing overflow (rust)
/*
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
@Coutlaw
Coutlaw / palindrome_i32.rs
Created June 6, 2020 11:43
leetcode: can find palindrome i32 (rust)
/*
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121
Output: true
Example 2:
@Coutlaw
Coutlaw / merge_two_lists.rs
Last active August 31, 2022 01:51
Leetcode: Merge two sorted lists (Rust)
/*
Merge two sorted linked lists and return it as a new sorted list. The new list should be made by splicing together the nodes of the first two lists.
Example:
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
*/
@Coutlaw
Coutlaw / thread_spawn.rs
Created May 27, 2020 11:00
Thread Spawn in rust
use std::thread;
use std::time::Duration;
fn main() {
// this thread will die when the main thread has ended
// but this spawned thread will start printing outputs while the main thread continues on
thread::spawn(|| {
for i in 1..10 {
println!("hi number {} from the spawned thread!", i);
thread::sleep(Duration::from_millis(1));
@Coutlaw
Coutlaw / tree_data_structure.rs
Last active March 1, 2023 00:01
Non-cyclical reference tree in Rust
use std::cell::RefCell;
use std::rc::{Rc, Weak};
// Implementation of a basic tree with out a cyclical reference, using strong and weak references
/*
* Every node is going to own its children, but share them so we can access each node directly
* to accomplish this, we make every child a Vec<T> and T is an Rc<Node> to maintain a reference count for the smart pointers
* We also need to be able to modify nodes that are children of other nodes
* to accomplish this we wrap each child Vec in RefCell<T>
* We also need to track who is the parent of the node
@Coutlaw
Coutlaw / longest_common_prefix.rs
Created May 23, 2020 11:14
leetcode: longest common prefix
/*
Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string "".
Example 1:
Input: ["flower","flow","flight"]
Output: "fl"