Skip to content
{{ message }}

Instantly share code, notes, and snippets.

# Tom Prior priort

Created Sep 18, 2016
View BeginningHaskellTalkExamples.hs
 module BeginningHaskellTalkExamples where isPalindromeWithRecursion :: String -> Bool isPalindromeWithRecursion str = loop strEndIndex where strEndIndex = length str - 1 loop i = if (i <= (div strEndIndex 2)) then True else if (str !! i) /= str !! (strEndIndex - i) then False
Last active Feb 6, 2017
View PalindromeIndex.fs
 module PalindromeIndex //Hackertank problem //Palindrome Index // Given a string, , of lowercase letters, determine the index of the character whose removal will make a // palindrome. If is already a palindrome or no such character exists, then print . There will always be a // valid solution, and any correct answer is acceptable. For example, if "bcbc", we can either remove 'b' // at index or 'c' at index . // Input Format // The first line contains an integer, , denoting the number of test cases. // Each line of the subsequent lines (where ) describes a test case in the form of a single string,
Last active Feb 6, 2017
View Anagram.fs
 module Anagram //Hackerrank problem //Anagram // Sid is obsessed with reading short stories. Being a CS student, he is doing some interesting frequency // analysis with the books. He chooses strings and in such a way that . // Your task is to help him find the minimum number of characters of the first string he needs to change to // enable him to make it an anagram of the second string. // Note: A word x is an anagram of another word y if we can produce y by rearranging the letters of x. // Input Format
Created Jul 11, 2019
View PersistTheList1.kt
 val readOnlyList: List = listOf(1, 2, 3, 4)
Created Jul 11, 2019
View PersistTheList2.kt
 val mutableList: MutableList = mutableListOf(4, 5, 6)
Last active Jul 11, 2019
View PersistTheList3.kt
 fun main(args: Array) { val mutableList: MutableList = mutableListOf(4, 5, 6) val listNotToBeAmended: List = mutableList println("listNotToBeAmended before add: \$listNotToBeAmended") mutableList.add(3) println("listNotToBeAmended after add to underlying list: \$listNotToBeAmended") }
Created Jul 11, 2019
View PersistTheList4.kt
 fun dropWhile(list: List, f: (Int) -> Boolean)
Created Jul 11, 2019
View PersistTheList5.kt
 sealed class List object Empty: List() { override fun toString()= "[]" } data class Cons(val head: E, val tail: List): List() { override fun toString(): String = "\$head :: \$tail" } fun main() {
Last active Jul 12, 2019
View PersistTheList6.kt
 fun dropWhile(list: List, f: (E) -> Boolean): List = when(list) { Empty -> Empty is Cons -> if (f(list.head)) dropWhile(list.tail, f) else list } fun main() { val myList = Cons(1, Cons(2, Cons(3, Cons(4, Empty)))) dropWhile(myList) { it < 3 }.let(::println)
Last active Jul 12, 2019
View PersistTheList7.kt
 tailrec fun dropWhile(list: List, f: (E) -> Boolean): List = when(list) { Empty -> Empty is Cons -> if (f(list.head)) dropWhile(list.tail, f) else list }