From cc6805c531316a2d91af1e845b2540a126a864a0 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Mon, 23 Oct 2023 10:55:05 +0200 Subject: [PATCH 1/9] Create input1.txt --- day01/input1.txt | 1014 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1014 insertions(+) create mode 100644 day01/input1.txt diff --git a/day01/input1.txt b/day01/input1.txt new file mode 100644 index 0000000..9eebba3 --- /dev/null +++ b/day01/input1.txt @@ -0,0 +1,1014 @@ ++7 +-5 +-9 +-1 +-3 ++7 +-8 +-17 +-4 +-18 +-15 ++18 +-11 +-3 +-15 ++6 ++17 +-3 ++19 ++6 ++4 +-15 ++18 +-14 ++8 +-11 +-7 +-15 ++19 +-1 ++10 ++18 +-1 ++5 +-12 ++11 +-5 ++17 ++9 +-12 ++7 ++19 +-9 ++17 ++12 +-15 +-12 ++11 ++14 +-16 +-13 ++7 ++5 +-6 ++20 +-1 ++8 +-13 +-6 +-9 ++4 ++23 +-5 +-5 +-19 ++20 +-6 ++21 +-4 ++12 ++10 +-1 ++16 ++15 +-12 +-17 +-3 ++9 +-19 +-3 ++7 +-5 +-7 +-8 ++2 ++7 ++16 +-2 ++13 ++13 ++20 +-15 +-10 +-5 +-1 ++7 +-15 ++18 ++3 +-1 ++16 +-13 +-1 +-10 ++15 +-17 +-18 +-11 ++1 ++2 ++7 ++12 +-14 ++22 ++14 ++5 +-13 +-16 ++25 ++20 ++2 ++10 ++16 +-19 +-1 +-7 ++3 ++3 ++10 ++4 ++16 ++12 ++8 ++7 +-12 +-1 +-7 ++19 +-4 ++11 ++18 +-15 ++12 ++11 +-10 +-7 ++12 +-16 ++2 +-5 +-5 ++14 ++9 ++14 ++19 ++11 ++6 ++13 ++14 ++14 +-6 +-9 +-9 +-11 +-5 +-5 ++15 +-7 ++1 +-17 ++7 +-15 +-7 ++12 +-6 +-13 +-19 ++10 ++5 +-1 ++6 ++20 +-12 +-7 ++18 +-17 +-15 +-11 ++16 ++12 ++13 +-21 ++9 ++9 ++11 +-2 +-13 +-1 +-6 ++4 +-16 ++2 +-5 ++23 +-13 +-12 +-19 ++2 ++2 +-12 +-6 ++1 +-21 +-16 +-18 ++5 ++18 ++4 +-11 ++17 ++3 ++6 +-1 +-4 +-18 ++2 +-4 +-3 +-15 +-6 +-1 +-13 ++10 ++15 ++6 ++20 ++18 +-9 ++11 +-3 +-18 +-16 +-1 ++20 +-7 ++19 +-24 ++20 ++12 ++22 +-15 ++24 +-21 ++3 ++13 +-15 ++23 ++37 ++9 ++18 ++3 +-11 ++20 ++4 ++15 ++14 +-5 ++7 +-6 ++9 +-2 +-9 ++12 ++11 +-18 ++8 +-15 ++16 +-7 ++11 ++11 ++1 +-8 ++6 +-8 ++18 +-21 ++9 +-7 ++12 ++4 ++13 ++15 ++5 +-10 +-4 ++10 +-3 ++24 +-14 ++10 ++7 +-11 +-20 ++19 ++6 ++7 ++12 ++1 ++1 +-7 ++1 ++20 ++25 +-14 +-20 +-15 +-19 +-23 +-14 ++9 +-30 +-13 +-13 +-20 ++11 ++15 +-3 +-9 ++13 +-12 +-10 +-9 ++2 ++19 +-8 ++3 +-6 ++18 +-5 ++15 +-16 +-10 +-15 +-6 +-5 +-10 ++18 +-16 ++25 +-15 +-18 ++12 ++19 +-12 ++4 ++6 ++9 +-27 +-60 +-48 +-4 ++2 +-17 +-12 ++11 +-18 +-9 ++5 +-6 +-28 ++3 +-13 ++35 ++5 ++25 +-22 +-35 +-15 +-27 +-10 +-9 +-64 +-9 ++10 +-3 +-25 ++9 +-14 +-83 ++11 ++61 +-8 +-8 ++12 ++50 +-20 +-165 ++7 +-65 +-3 +-5 ++281 ++56 ++121 +-55464 ++8 +-9 +-15 +-3 +-16 ++10 +-11 ++9 ++5 ++4 ++7 +-20 +-15 +-1 +-10 +-11 ++12 +-11 ++16 ++21 +-3 ++4 ++1 +-9 +-2 +-6 +-7 ++9 +-11 +-1 +-4 ++15 +-4 +-13 +-1 +-1 ++10 +-17 +-15 +-17 ++11 ++9 ++3 +-9 ++13 ++2 +-3 +-17 ++19 +-16 +-4 ++8 +-3 ++5 +-12 ++16 ++8 +-15 +-19 +-8 +-3 +-13 +-5 +-16 ++3 ++2 ++10 +-5 ++2 ++14 ++10 ++8 +-11 ++2 +-6 ++9 ++8 ++7 ++6 +-3 +-6 +-11 ++12 +-23 +-11 ++13 ++22 ++18 ++21 ++18 ++19 ++6 +-3 ++5 ++17 ++7 +-4 ++13 +-5 ++13 ++18 ++10 +-7 ++12 ++11 +-10 +-7 ++14 ++6 +-16 ++20 ++16 +-1 ++6 +-14 ++15 +-2 +-25 ++13 ++39 +-11 +-9 ++34 +-60 +-14 +-22 +-27 +-12 +-10 ++3 ++20 ++3 ++8 ++7 +-10 +-14 ++12 ++9 +-6 ++8 +-19 +-10 +-16 +-14 ++16 +-4 +-20 ++10 +-17 +-9 +-15 ++16 ++11 +-20 +-11 +-14 +-28 +-16 +-2 ++21 +-18 ++17 ++5 +-6 +-18 +-15 +-14 ++15 ++11 +-16 +-5 ++19 +-12 +-15 +-1 ++11 +-16 ++11 ++15 +-19 ++3 +-9 +-2 +-9 ++1 +-5 ++7 ++11 ++24 ++14 ++4 ++17 +-46 +-5 +-17 +-8 +-10 +-12 +-5 ++10 ++3 ++9 ++14 ++7 +-6 +-16 ++17 +-18 ++14 +-10 ++18 +-17 +-11 +-17 +-12 +-15 +-2 +-4 +-9 +-13 ++10 ++4 +-3 +-9 +-5 ++7 ++11 +-17 +-21 ++9 ++17 ++17 ++13 ++12 +-3 +-3 ++18 +-5 ++12 ++10 ++3 ++10 ++24 ++21 ++13 ++22 ++19 ++72 ++7 ++11 +-15 +-5 ++6 ++83 ++8 +-153 ++24 ++8 ++39 ++43 +-265 +-17 ++18 +-4 +-12 ++7 +-4 +-2 ++18 ++12 ++11 +-7 +-9 +-4 ++10 ++15 ++25 +-20 +-16 +-22 +-21 +-11 ++2 ++13 ++20 ++10 ++12 +-6 +-23 ++3 +-17 +-7 ++15 +-19 +-10 +-8 +-2 +-8 +-2 +-6 ++5 ++7 +-5 +-3 +-3 +-15 ++4 ++5 ++15 +-12 +-16 +-13 ++15 +-4 +-9 ++12 +-8 ++2 ++19 +-4 ++1 +-23 +-9 +-10 +-2 ++5 +-10 ++2 +-3 +-10 +-15 ++19 +-7 +-9 +-17 ++10 +-18 ++16 +-14 ++7 +-10 ++12 ++3 +-7 ++12 ++21 +-5 +-11 +-7 ++3 ++11 +-16 ++15 ++14 ++17 ++8 +-2 +-1 ++19 ++10 ++11 ++22 +-1 ++18 ++12 +-19 +-5 ++17 +-4 +-4 ++19 +-46 +-22 +-11 ++19 +-12 +-19 +-11 +-17 +-15 +-42 +-11 +-4 ++20 ++6 +-38 ++8 +-58 ++5 +-11 +-60 +-7 +-61 +-5 ++36 +-82 +-3 +-35 +-11 ++33 +-51 +-17 ++9 +-277 ++251 +-55001 ++3 +-11 ++1 ++13 ++3 +-15 ++1 ++2 ++7 +-16 ++13 ++9 ++18 +-1 +-10 ++5 ++17 +-9 ++2 ++10 ++18 ++19 ++3 +-9 +-18 +-4 ++6 +-13 ++6 ++19 ++15 ++14 +-13 ++17 ++14 +-3 +-7 +-16 +-9 ++16 +-5 +-12 ++19 ++16 +-15 ++12 +-5 ++7 +-20 +-6 +-1 ++6 +-7 ++17 ++22 ++7 +-13 ++8 ++16 ++14 +-18 ++12 +-4 +-1 ++10 +-15 ++14 ++11 ++9 +-14 +-3 ++10 +-8 +-8 +-16 ++18 +-4 ++17 +-3 +-22 +-18 +-20 ++19 +-6 ++14 +-1 ++4 ++15 +-4 ++24 +-31 +-10 ++7 +-24 +-1 ++8 ++4 +-21 ++8 +-4 +-16 ++2 ++4 +-18 ++6 +-5 +-19 +-6 +-5 +-13 ++17 ++15 +-5 ++4 ++2 +-19 ++12 +-16 +-8 +-11 ++3 ++14 +-5 ++8 ++17 +-5 +-11 ++23 ++2 +-18 +-30 +-11 ++5 ++15 +-14 +-17 ++13 ++19 ++2 +-15 +-7 +-18 +-14 +-3 +-2 +-6 +-12 ++1 ++20 ++5 ++2 +-3 +-20 +-3 ++9 +-15 +-4 +-6 ++2 ++3 ++19 ++17 +-3 +-18 +-17 +-20 ++14 ++2 +-18 ++13 ++13 +-21 +-13 +-4 +-18 ++11 ++1 ++3 ++10 +-15 +-4 +-7 +-2 +-16 +-11 +-10 +-5 ++6 ++1 +-12 +-8 +-5 +-10 ++1 ++5 ++15 +-14 +-5 +-3 +-14 ++19 ++111653 From 9e419a38770e84752d6448fe9d301932bd580655 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Mon, 23 Oct 2023 08:59:50 +0000 Subject: [PATCH 2/9] added python --- day01/day01.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/day01/day01.py b/day01/day01.py index 9f69ffd..a87d01e 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -19,10 +19,18 @@ class Frequency: def __init__(self): self.currentFrequency = 0 - def calibrate(self, num: int): - pass + def calibrate(self, num: int): + self.currentFrequency += num + # put your inputs file next to this file! -lines = read_input('input.txt'); -# solve the problem here! \ No newline at end of file +lines = read_input('input1.txt'); +# solve the problem here! + +f = Frequency() +for line in lines: + f.calibrate(int(line)) + +print(f.currentFrequency) + From c9ca0bb7d32ebdc9c84f7b74bbb53fe230378f3c Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:17:02 +0000 Subject: [PATCH 3/9] Added module for day1 --- day01/day01.py | 22 ++++++++++++++++------ day01/input1.txt | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/day01/day01.py b/day01/day01.py index a87d01e..2b9fbc8 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -18,19 +18,29 @@ def read_input(file_name): class Frequency: def __init__(self): self.currentFrequency = 0 + self.uniqueFrequencies : List[int] = [] - def calibrate(self, num: int): + def calibrate(self, num: int) -> bool: self.currentFrequency += num - - + for frq in self.uniqueFrequencies: + if frq == self.currentFrequency: + return True + #no match found, add frequency to list + self.uniqueFrequencies.append(self.currentFrequency) + #print(f"Pos: {len(self.uniqueFrequencies) + 1} Appended {self.currentFrequency}") + return False # put your inputs file next to this file! -lines = read_input('input1.txt'); +lines = read_input('input1.txt') # solve the problem here! f = Frequency() -for line in lines: - f.calibrate(int(line)) + +retVal = False +while False == retVal: + for line in lines: + retVal = f.calibrate(line) + print(f"Current is {f.currentFrequency}") print(f.currentFrequency) diff --git a/day01/input1.txt b/day01/input1.txt index 9eebba3..760a123 100644 --- a/day01/input1.txt +++ b/day01/input1.txt @@ -1011,4 +1011,4 @@ -3 -14 +19 -+111653 ++111653 \ No newline at end of file From 8fd01e32d8d1374f8755e08b7826abb1155e1b00 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Tue, 24 Oct 2023 14:53:20 +0000 Subject: [PATCH 4/9] Tested, all ok --- day01/day01.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/day01/day01.py b/day01/day01.py index 2b9fbc8..a994afe 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -1,4 +1,3 @@ - from typing import List; import os; import time; @@ -18,17 +17,15 @@ def read_input(file_name): class Frequency: def __init__(self): self.currentFrequency = 0 - self.uniqueFrequencies : List[int] = [] + self.uniqueFrequencies = set() - def calibrate(self, num: int) -> bool: + def calibrate(self, num): self.currentFrequency += num - for frq in self.uniqueFrequencies: - if frq == self.currentFrequency: - return True - #no match found, add frequency to list - self.uniqueFrequencies.append(self.currentFrequency) + if self.currentFrequency in self.uniqueFrequencies: + return True + self.uniqueFrequencies.add(self.currentFrequency) #print(f"Pos: {len(self.uniqueFrequencies) + 1} Appended {self.currentFrequency}") - return False + return None # put your inputs file next to this file! lines = read_input('input1.txt') @@ -36,11 +33,12 @@ def calibrate(self, num: int) -> bool: f = Frequency() -retVal = False -while False == retVal: +retVal = None +while retVal is None: for line in lines: - retVal = f.calibrate(line) - print(f"Current is {f.currentFrequency}") + retVal = f.calibrate(line) + if retVal is True: + break + print(f"Current is {f.currentFrequency}, uniqueFrqs: {len(f.uniqueFrequencies)}") print(f.currentFrequency) - From aba28833f7d185084a871969010c03edd06f3570 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Tue, 24 Oct 2023 17:04:24 +0200 Subject: [PATCH 5/9] Create input1.txt --- day02/input1.txt | 250 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 day02/input1.txt diff --git a/day02/input1.txt b/day02/input1.txt new file mode 100644 index 0000000..a008cfa --- /dev/null +++ b/day02/input1.txt @@ -0,0 +1,250 @@ +mvgowxqubnhaefjslkjlrptzyi +pvgowlqubnhaefmslkjdrpteyi +ovgowoqubnhaefmslkjnrptzyi +cvgowxqubnrxefmslkjdrptzyo +cvgowxqubnhaefmsokjdrprzyf +cvgowxqubnhjeflslkjgrptzyi +cvgowxqvbnhaefmslkhdrotzyi +hvgowxqmbnharfmslkjdrptzyi +cvgoaxqubqhaefmslkjdrutzyi +cvxowxqdbnhaefmslkjdgptzyi +cvgikxqubnhaefmslkjdrptzyz +cvgnwxqubnhaqfjslkjdrptzyi +cqgowxqubnhaecmslkjgrptzyi +cvpowxqucnhaefmslkjdrptzyz +fvuoexqubnhaefmslkjdrptzyi +svgowxqubnhaefmsvkjdrttzyi +cvgowxqubnhaefmblkjdfpbzyi +cvkoyxqubnhaefsslkjdrptzyi +bvgowxqublhaefmslkjdrptzfi +xvgewxqubnhaefmslkjdrztzyi +cvgowxqubzhaefmslkkrrptzyi +cvgowxqubnhaefmslkudruuzyi +cvgowxqubnhaefmvlkjdrptwyl +cvgoyxqubnhaefmslkjvrotzyi +cvgowxoubnhaewmslkjdrpbzyi +cvgowxgubnhaefmslijdrptzxi +lvgowxqkbnhaefmslkjdrptzqi +xvgowxqubyhaefmflkjdrptzyi +wvnowxgubnhaefmslkjdrptzyi +cvgowxguwnhaefhslkjdrptzyi +cvgowfquxnhaefmdlkjdrptzyi +cvgywxqubnuaefmsldjdrpfzyi +cvkowxqzbrhaefmslkjdrptzyi +cviowxzubnhaefmslkjdrptqyi +cvgowxqubnhaefmsozjdrptzyc +cvglwxuubnhaewmslkjdrptzyi +cvgowxquknhaebmsfkjdrptzyi +vvgowxqubnhaesmslkjdrptzri +cvgowxoubndaefmslkjdrftzyi +cvgowxqubghaefmslkjdeptzyw +cvgowxqubnhaetmhlkjdrpvzyi +cvgowmquunhaefmslkjdrptzyt +cvgooxqpbniaefmslkjdrptzyi +cvgowxqubnhaeumslkjdkptiyi +cvgrwxqsbnhaemmslkjdrptzyi +cvrowxqubnhaefmslkjdrctcyi +dvgcwxqubnhaefmslkjdrptzyq +cugowxqubnhasfmmlkjdrptzyi +cwgowxqobzhaefmslkjdrptzyi +cvgowxquwnhaefmulkjdrptbyi +nvgowxqmbnhaefmslyjdrptzyi +cvgowxqubniakvmslkjdrptzyi +cvyowxqubnhaefmslejdrptzyx +cvgobxqubghaefeslkjdrptzyi +cvgowxiubnhaebmslkjdfptzyi +cvgosbqubnhaefmslkvdrptzyi +cvgpwxqubnhaefvslkjdrptzyh +cvgowxqubnyaefmslgjdsptzyi +cvgowxqubnhaefmslkjdrprzzp +cvgowxqubwhaemmslkjdrpazyi +cvgowxqpbnhaemmslkjdrpczyi +cvgoqxqubnhaelmslkjdrptzye +cvgowxqubnhaefmslbjdrttzvi +cvgowxqubnhlefmslkvurptzyi +cvgowxqujngaefmslktdrptzyi +cvgowxqubnhaefmsckjdcwtzyi +cvcowxqubnhaetmslkjorptzyi +jvnowxqubnhaefmslkjdrptzyf +cygowxqkbnhaefmslejdrptzyi +cvmowxqubnhaefmslkjdritzoi +cvgowxqubnpaefmslkjdrpnnyi +cvgowxqubnhaefmolkjdrpnzyy +uvgowxoubnhaefmslkjdrptzvi +cvgowxbabehaefmslkjdrptzyi +cvgokxqubnhaefmsckjdrjtzyi +cvgoxwqubahaefmslkjdrptzyi +cvgowxqusnhaefmslijdrptyyi +cvgowxqubmhaeqmslkxdrptzyi +cvgouxhubnhaefmslkjdrjtzyi +cvgowxqubnhaefmslrjdqptzyk +cvgowxiublhaefsslkjdrptzyi +cvgowxqubnxgefmslkadrptzyi +ovgowxqugshaefmslkjdrptzyi +cvgowxquznhaeemslsjdrptzyi +cvkowxqubnhaeomslkjdeptzyi +cvgvwxqubxhaefmslkjdrptzyu +cvglwxqybnhaefmslkjdrptzyb +cvgowxqubnlfwfmslkjdrptzyi +cvaowxqubnhaefmslkjdrvtzbi +cvgowxqubnrmefaslkjdrptzyi +cvgowxqubnhaefmsnkjdfpwzyi +cvgawxqmbnhaefmsykjdrptzyi +chgowmqubnhaefmslkjdrptwyi +cogowxqubnhaefmslkjxrptzri +cvgohxqubnoaesmslkjdrptzyi +cvdowxqubnhaofmslkjdrpvzyi +vvgowrqubnhaefmslkjdrpthyi +cvgowxquknhuefmslkjdoptzyi +cvyowxeubnhaefmslhjdrptzyi +cvglwxqubnhaefmslkjdrptdyq +cvgowxqubnhaefmsikgdrptayi +cvgowxqubnhaefjhlkjdrpczyi +cvgzwxkubnhaefmslkjdjptzyi +cxgowxqubnhaefmslkjdrptwyy +cvgowxqubnhaefeslkjdrmqzyi +cvgowxvubnhaefmilijdrptzyi +cvgowxqzbthaeomslkjdrptzyi +cvgowhqubndaefmglkjdrptzyi +cvgowxvubnhaeamylkjdrptzyi +cvgowiqubnhgefmslkjdrctzyi +cvgowxqubchaefmslksdritzyi +cvgowxqubnhaefmsnkjdreyzyi +cvgowxqubihaefmslkgdrutzyi +cvgowxqjbnhaeamslkjdrptzwi +cvgowxzubnhaefmsxkjdrrtzyi +cvgowxqubyhaetmslnjdrptzyi +cvgowxquhnhaebmslkjdxptzyi +cvgowxqubnhanfmslujdxptzyi +cvgowxqublhnefaslkjdrptzyi +cvgmwxqtbnhaefmslkjsrptzyi +jvgowxqubnhaeamslkjdrpmzyi +cvgowxqubhiaefmsljjdrptzyi +svgowxqubnhaefmswkjdrpozyi +cvgowxqebnhaeqmslkjdiptzyi +cveowxqubnhayzmslkjdrptzyi +cvglwxqubnhaefmxlkjdiptzyi +cvgowkqubdhaefmszkjdrptzyi +cvgowxkxbnhaeffslkjdrptzyi +cugowxqubnnaefmslujdrptzyi +cqgowxwubnhaepmslkjdrptzyi +cvgowxqubnhayfmmlkjwrptzyi +cvgowxquenhaefmsskxdrptzyi +cvgowxqubnhiefmsrkjdtptzyi +mvgowxkubnhaefmjlkjdrptzyi +cvgowkquunhaefmglkjdrptzyi +cvgowxqubqhaexmslgjdrptzyi +jvgowxqubnhaefmslkjddptlyi +cvgiwxqubnhaefmslkjdpptmyi +czgowxqubntaevmslkjdrptzyi +cvgotmqubnhaefmslkjdrpazyi +cvgowxtubnhaefmslkqdtptzyi +cvbowxqhnnhaefmslkjdrptzyi +cvgowkqubshaefmstkjdrptzyi +cvgowqqrbnaaefmslkjdrptzyi +cvgoixqubnhaefmslkjdrpmryi +cvgoxxqubnhaeimsxkjdrptzyi +cvgowxqubzhaebmslkjyrptzyi +cjgewxqubnhaefsslkjdrptzyi +cvgowxqdbnkaefmslwjdrptzyi +cvgowxqzbnhaeamslkjdrftzyi +cvgoixqubnsaewmslkjdrptzyi +cvgswxqubnhaxfmslkjdrptzni +cvwowxmubnhgefmslkjdrptzyi +cvggwxqubnhaefmslqjdbptzyi +cvgzwxqjbnhaefaslkjdrptzyi +cvgowzqubnharfmspkjdrptzyi +cvgowxqubnhawfmslkjdeptzyb +cvuowequbnhaefmslkjdrntzyi +gvgowxqubnxaefmslkjdrjtzyi +cvgowxqubnhmetmsldjdrptzyi +cvgowxqubnhamfmsqkjdrptyyi +cvgoqxqubnhaefmslkjtrpazyi +cvgoexqubhhaefmslkjdrhtzyi +cvgowwqubnhaeflslkjdrptzyf +cvgowlpubnhaefmslkjdrptvyi +cvgowxouunhaebmslkjdrptzyi +cvdowhqubnhaefmslijdrptzyi +cvgowxqubnkatfmslkjdrhtzyi +cvgowxqpbnhxeumslkjdrptzyi +cvgowxqubnhaefmsukjjrptzyn +cvgowxqubnhmefmslzjdrvtzyi +cvtowxqubihaefmclkjdrptzyi +chgowcqubnhayfmslkjdrptzyi +cvguwxqubnhaefmblkjarptzyi +cvgowoqubnhaefmsikjdrytzyi +cvgkwxqubnhaefmslkjdrptchi +cvhowxqubnhaefmslkjdrvlzyi +cvlowxfubnhaefmslkjkrptzyi +cvgowxqubhhaefoslkjdrytzyi +cvgowxsubqhaefmslpjdrptzyi +cvgowxpubnhaefmslhjdrptzyb +cvgowxqubnhrefmjlkddrptzyi +cvgowxqubnhaxfmykkjdrptzyi +mvgowxqubnhakfmslkjdrptnyi +cwgowxqubnhaffmslkadrptzyi +chgowxquwnhaefmslsjdrptzyi +cvgowxqubnhaefmslkjdwpnsyi +cvgawxqubnhaefmslkldyptzyi +cvgowxqubnhiefmslkjdiprzyi +cvgkqxqubnhaefcslkjdrptzyi +cvgovoqubnhaefmslkjdrpuzyi +cvgowxqubnhaefmszkjdrjtzyk +cvgopxqubnhaefmslkjdqpnzyi +cvgtwxqubnhaefmslkjnrptzri +cvgowxqurnhaedmslfjdrptzyi +cvpowxqubnhaefmswkjdrltzyi +cvgowxqujnpaefmslkjdrptdyi +cvgowgqubnhzifmslkjdrptzyi +lvgowxqubnhaenmslkjdbptzyi +ebgowxqubnhaeymslkjdrptzyi +cvgowxtubqhaefmslkedrptzyi +cvgowxqubshaesmslkjdrptryi +cvgowxqubnhaefmflkjmrpkzyi +cvgowxqubngaefmslkjdrytzgi +cvgowxqubnhaefmslklhzptzyi +cveowxqubnhgefmslkjdrpezyi +cvgowxqubnhaeomslkjdrqtzym +cvgowxqubzhaefmslwjdrptfyi +cmgowxqubnhaefmsdkjdrptzui +cvlowxqubnhaefmslsjdrptzwi +cvhowxpubnhaefmslkjhrptzyi +cveosxqurnhaefmslkjdrptzyi +cvgowxqubnhaefgsdkjdrptjyi +cvgvwxqubnhaefmslzjdmptzyi +cviowxqubnhalfmslkjdrptzyr +cvgowxqubchqefmslkjdrptzoi +cvgownqubnhaefmsyktdrptzyi +cvgywxqubnuaefmslkjdrpfzyi +cvgobxqunnhaefmslkjdrptzbi +cvgowxqubshaefgslkjdrxtzyi +cvghwxqubnhaefmslkjdrbtmyi +cvhowxqubnhaefmslkjdrpnzys +cvgowxqubnmaefmslejdrptzyq +cvmrwxqubnhaefmslkjdrpzzyi +cvgowxqubshaefmslkfdrptzyu +cvgowqqubnhaefmslkodrpjzyi +cvgnwnquknhaefmslkjdrptzyi +cvgowxquxnhacfmflkjdrptzyi +ovgowxqubnhaefmslkjmrmtzyi +cvgowxqubneaefmslkedrptzqi +cvgowxqubphweflslkjdrptzyi +cvgowxqudnhaefmplkjdrptdyi +cvwowxbubnhaefmslkjurptzyi +cvgowxtubnhaefmslkjdrwwzyi +cvgowxqubnhkefmslajdrptzyn +cvgowxqxbphaefmslkjdrptzsi +cvgowxquenhaefmslmjwrptzyi +zvgowdqubnhaeftslkjdrptzyi +csgowxqubnhgefmslkjdrptzyy +cvgolxqubahaefmslkjdrpvzyi +cvgoqxquhwhaefmslkjdrptzyi +cvgawxqubghaefmsrkjdrptzyi +cvgozxqubnhaefmslkwdfptzyi +cvgowxqubnhaefmslhjdkptzzi +cvnowxqubnhaefmsqkjdrptqyi +cvpowxqubnhaefmslkpdrptdyi +cvgowxoubnhaermslkjdrctzyi +cvgowxqubnheefmslkjdrctzyr +cvgowxqunnhaqfhslkjdrptzyi +cvgowxqulnhaefmslrjdrntzyi From 531451377c7ce4e30eb3a609809a3a9759ed2397 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Tue, 24 Oct 2023 16:40:37 +0000 Subject: [PATCH 6/9] Implemented first task on 2nd day --- day02/day02.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/day02/day02.py b/day02/day02.py index 7ea619d..608f549 100644 --- a/day02/day02.py +++ b/day02/day02.py @@ -12,6 +12,27 @@ def read_input(file_name): print(f"An error occurred: {e}") return lines -#a -lines = read_input('input.txt') -# solve the problem here! \ No newline at end of file + +lines = read_input('input1.txt') +# solve the problem here! + +count_2_same = 0 +count_3_same = 0 + +for line in lines: + char_count = {} + + for char in line: + if char in char_count: + char_count[char] += 1 + else: + char_count[char] = 1 + + if 2 in char_count.values(): + count_2_same += 1 + if 3 in char_count.values(): + count_3_same += 1 + +result = count_2_same * count_3_same + +print(f"Result: {result}") From de0af37e2d975737670d60c7b52e71fa63541ea5 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Sun, 29 Oct 2023 19:44:09 +0000 Subject: [PATCH 7/9] Added and checked day 2 --- day01/day01.py | 26 ++++++++++++++++---------- day02/day02.py | 21 +++++++++++++++++++++ 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/day01/day01.py b/day01/day01.py index a994afe..d116f90 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -16,15 +16,18 @@ def read_input(file_name): class Frequency: def __init__(self): - self.currentFrequency = 0 + self.currentFrequency_1 = 0 + self.currentFrequency_2 = 0 self.uniqueFrequencies = set() - def calibrate(self, num): - self.currentFrequency += num - if self.currentFrequency in self.uniqueFrequencies: + def calibrate_task1(self, num): + self.currentFrequency_1 += num + + def calibrate_task2(self, num): + self.currentFrequency_2 += num + if self.currentFrequency_2 in self.uniqueFrequencies: return True - self.uniqueFrequencies.add(self.currentFrequency) - #print(f"Pos: {len(self.uniqueFrequencies) + 1} Appended {self.currentFrequency}") + self.uniqueFrequencies.add(self.currentFrequency_2) return None # put your inputs file next to this file! @@ -33,12 +36,15 @@ def calibrate(self, num): f = Frequency() +for line in lines: + f.calibrate_task1(line) +print(f"Task 1: frq {f.currentFrequency_1}") + + retVal = None while retVal is None: for line in lines: - retVal = f.calibrate(line) + retVal = f.calibrate_task2(line) if retVal is True: break - print(f"Current is {f.currentFrequency}, uniqueFrqs: {len(f.uniqueFrequencies)}") - -print(f.currentFrequency) +print(f"Task 2: Current is {f.currentFrequency_2}, uniqueFrqs: {len(f.uniqueFrequencies)}") \ No newline at end of file diff --git a/day02/day02.py b/day02/day02.py index 608f549..7311393 100644 --- a/day02/day02.py +++ b/day02/day02.py @@ -36,3 +36,24 @@ def read_input(file_name): result = count_2_same * count_3_same print(f"Result: {result}") + +for i in range(len(lines)): + for j in range(i + 1, len(lines)): + err_cnt = 0 + idx_rem = 0 + for idx in range(len(lines[0])): + if lines[i][idx] != lines [j][idx]: + err_cnt += 1 + idx_rem = idx + #endif + if err_cnt == 1: + print(f"Line {i} and {j} are right. Wrong letter at {idx_rem} is {lines[i][idx_rem]}") + print(f"lines were:\n{lines[i]}\n{lines[j]}") + + output_line = ''.join([char for char_idx, char in enumerate(lines[i]) if char_idx != idx_rem]) + print(f"Pass:\n{output_line}") + #endfor idx + #endfor j + + + From a477b0effb296beeb08975581859bd6ffa794f8a Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Sun, 5 Nov 2023 13:22:34 +0000 Subject: [PATCH 8/9] Created the plots for the various search algorithms, added necessary module --- day01/binTree.py | 92 ++++++++++++++++ day01/day01.py | 23 +++- day02/day02_task2.py | 39 +++++++ day02/input2.txt | 250 +++++++++++++++++++++++++++++++++++++++++++ plot1_binTree.png | Bin 0 -> 22922 bytes plot_with_list.png | Bin 0 -> 22141 bytes plot_with_set.png | Bin 0 -> 25241 bytes 7 files changed, 401 insertions(+), 3 deletions(-) create mode 100644 day01/binTree.py create mode 100644 day02/day02_task2.py create mode 100644 day02/input2.txt create mode 100644 plot1_binTree.png create mode 100644 plot_with_list.png create mode 100644 plot_with_set.png diff --git a/day01/binTree.py b/day01/binTree.py new file mode 100644 index 0000000..2549054 --- /dev/null +++ b/day01/binTree.py @@ -0,0 +1,92 @@ +class BinTree: + def __init__(self, print_debug = False): + self.print_debug = print_debug + self.data = [] + + def _print_entries(self): + for date in self.data: + print(f"{date}") + + def add(self, number): + if len(self.data) == 0: + self.data.insert(0, number) + return + if len(self.data) == 1: + if self.data[0] > number: + self.data.insert(0, number) + elif self.data[0] < number: + self.data.append(number) + return + + #at least two elements are in the array + ret_val = self._binary_search_(number, len(self.data) - 1, 0) + if ret_val[0] == True: + if self.print_debug == True: + print(f"Element {number} is alread at pos {ret_val[1]} in set") + return #entry is already in set + elif ret_val[0] == False: + if self.print_debug == True: + print(f"Inserted element {number} at position {ret_val[1]}") + self.data.insert(ret_val[1], number) + + + def __contains__(self, number): + if len(self.data) > 1: + return self._binary_search_(number, len(self.data) - 1, 0)[0] + elif len(self.data) == 1: + return self.data[0] == number + else: + return False + + def _binary_search_(self, search_value, upper_bound, lower_bound): + """returns a tuple for the searched object. First entry is if the object is in the set, + second entry is the point where it was found or where it should be inserted""" + #cornercase for adjacent objects + if lower_bound == upper_bound - 1: + #is in list + if self.data[lower_bound] == search_value: + return True, lower_bound + elif self.data[upper_bound] == search_value: + return True, upper_bound + else: #not found, search where it should be inserted + if search_value > self.data[upper_bound]: + return False, upper_bound + 1 + elif search_value < self.data[lower_bound]: + return False, lower_bound - 1 + else: + return False, upper_bound + + #general binary search function + middle = (int)((upper_bound + lower_bound) / 2) + middle_data = self.data[middle] + if middle_data == search_value: + return True, middle + elif middle_data < search_value: + return self._binary_search_(search_value=search_value, upper_bound=upper_bound, lower_bound=middle) + elif middle_data > search_value: + return self._binary_search_(search_value=search_value, upper_bound=middle, lower_bound=lower_bound) + + +if __name__ == "__main__": + + bt = BinTree(print_debug=True) + + for i in range(1,35,3): + bt.add(i) + + bt.add(12) + bt.add(13) + bt.add(14) + + bt._print_entries() + + print(f"31? should be true: {bt.__contains__(31)}") + print(f"30? should be false: {bt.__contains__(30)}") + + + + + + + + \ No newline at end of file diff --git a/day01/day01.py b/day01/day01.py index d116f90..f51dcd9 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -1,6 +1,10 @@ from typing import List; import os; import time; +import matplotlib.pyplot as plt +import numpy as np +from binTree import BinTree + def read_input(file_name): current_path = os.path.dirname(__file__) @@ -18,7 +22,7 @@ class Frequency: def __init__(self): self.currentFrequency_1 = 0 self.currentFrequency_2 = 0 - self.uniqueFrequencies = set() + self.uniqueFrequencies = BinTree() def calibrate_task1(self, num): self.currentFrequency_1 += num @@ -42,9 +46,22 @@ def calibrate_task2(self, num): retVal = None +times = [] +start_time = time.time() + while retVal is None: for line in lines: retVal = f.calibrate_task2(line) if retVal is True: - break -print(f"Task 2: Current is {f.currentFrequency_2}, uniqueFrqs: {len(f.uniqueFrequencies)}") \ No newline at end of file + break + times.append(time.time()- start_time) + +x = range(len(times)) +plt.plot(x, times) +plt.title('Runtime complexity') +plt.xlabel('X axis') +plt.ylabel('Elapsed time') + +plt.savefig("plot1.png") + +#print(f"Task 2: Current is {f.currentFrequency_2}, uniqueFrqs: {len(f.uniqueFrequencies)}") \ No newline at end of file diff --git a/day02/day02_task2.py b/day02/day02_task2.py new file mode 100644 index 0000000..7975d07 --- /dev/null +++ b/day02/day02_task2.py @@ -0,0 +1,39 @@ +from typing import List; +import time +import os; + +def read_input(file_name): + current_path = os.path.dirname(__file__) + lines = [] + try: + with open(os.path.join(current_path, file_name), 'r') as file: + for line in file: + lines.append(line.strip()) # Remove any leading or trailing whitespace + except Exception as e: + print(f"An error occurred: {e}") + return lines + + +lines = read_input('input2.txt') +# solve the problem here! + +count_2_same = 0 +count_3_same = 0 + +for line in lines: + char_count = {} + + for char in line: + if char in char_count: + char_count[char] += 1 + else: + char_count[char] = 1 + + if 2 in char_count.values(): + count_2_same += 1 + if 3 in char_count.values(): + count_3_same += 1 + +result = count_2_same * count_3_same + +print(f"Result: {result}") diff --git a/day02/input2.txt b/day02/input2.txt new file mode 100644 index 0000000..5868f87 --- /dev/null +++ b/day02/input2.txt @@ -0,0 +1,250 @@ +mvgowxqubnhaefjslkjlrptzyi +pvgowlqubnhaefmslkjdrpteyi +ovgowoqubnhaefmslkjnrptzyi +cvgowxqubnrxefmslkjdrptzyo +cvgowxqubnhaefmsokjdrprzyf +cvgowxqubnhjeflslkjgrptzyi +cvgowxqvbnhaefmslkhdrotzyi +hvgowxqmbnharfmslkjdrptzyi +cvgoaxqubqhaefmslkjdrutzyi +cvxowxqdbnhaefmslkjdgptzyi +cvgikxqubnhaefmslkjdrptzyz +cvgnwxqubnhaqfjslkjdrptzyi +cqgowxqubnhaecmslkjgrptzyi +cvpowxqucnhaefmslkjdrptzyz +fvuoexqubnhaefmslkjdrptzyi +svgowxqubnhaefmsvkjdrttzyi +cvgowxqubnhaefmblkjdfpbzyi +cvkoyxqubnhaefsslkjdrptzyi +bvgowxqublhaefmslkjdrptzfi +xvgewxqubnhaefmslkjdrztzyi +cvgowxqubzhaefmslkkrrptzyi +cvgowxqubnhaefmslkudruuzyi +cvgowxqubnhaefmvlkjdrptwyl +cvgoyxqubnhaefmslkjvrotzyi +cvgowxoubnhaewmslkjdrpbzyi +cvgowxgubnhaefmslijdrptzxi +lvgowxqkbnhaefmslkjdrptzqi +xvgowxqubyhaefmflkjdrptzyi +wvnowxgubnhaefmslkjdrptzyi +cvgowxguwnhaefhslkjdrptzyi +cvgowfquxnhaefmdlkjdrptzyi +cvgywxqubnuaefmsldjdrpfzyi +cvkowxqzbrhaefmslkjdrptzyi +cviowxzubnhaefmslkjdrptqyi +cvgowxqubnhaefmsozjdrptzyc +cvglwxuubnhaewmslkjdrptzyi +cvgowxquknhaebmsfkjdrptzyi +vvgowxqubnhaesmslkjdrptzri +cvgowxoubndaefmslkjdrftzyi +cvgowxqubghaefmslkjdeptzyw +cvgowxqubnhaetmhlkjdrpvzyi +cvgowmquunhaefmslkjdrptzyt +cvgooxqpbniaefmslkjdrptzyi +cvgowxqubnhaeumslkjdkptiyi +cvgrwxqsbnhaemmslkjdrptzyi +cvrowxqubnhaefmslkjdrctcyi +dvgcwxqubnhaefmslkjdrptzyq +cugowxqubnhasfmmlkjdrptzyi +cwgowxqobzhaefmslkjdrptzyi +cvgowxquwnhaefmulkjdrptbyi +nvgowxqmbnhaefmslyjdrptzyi +cvgowxqubniakvmslkjdrptzyi +cvyowxqubnhaefmslejdrptzyx +cvgobxqubghaefeslkjdrptzyi +cvgowxiubnhaebmslkjdfptzyi +cvgosbqubnhaefmslkvdrptzyi +cvgpwxqubnhaefvslkjdrptzyh +cvgowxqubnyaefmslgjdsptzyi +cvgowxqubnhaefmslkjdrprzzp +cvgowxqubwhaemmslkjdrpazyi +cvgowxqpbnhaemmslkjdrpczyi +cvgoqxqubnhaelmslkjdrptzye +cvgowxqubnhaefmslbjdrttzvi +cvgowxqubnhlefmslkvurptzyi +cvgowxqujngaefmslktdrptzyi +cvgowxqubnhaefmsckjdcwtzyi +cvcowxqubnhaetmslkjorptzyi +jvnowxqubnhaefmslkjdrptzyf +cygowxqkbnhaefmslejdrptzyi +cvmowxqubnhaefmslkjdritzoi +cvgowxqubnpaefmslkjdrpnnyi +cvgowxqubnhaefmolkjdrpnzyy +uvgowxoubnhaefmslkjdrptzvi +cvgowxbabehaefmslkjdrptzyi +cvgokxqubnhaefmsckjdrjtzyi +cvgoxwqubahaefmslkjdrptzyi +cvgowxqusnhaefmslijdrptyyi +cvgowxqubmhaeqmslkxdrptzyi +cvgouxhubnhaefmslkjdrjtzyi +cvgowxqubnhaefmslrjdqptzyk +cvgowxiublhaefsslkjdrptzyi +cvgowxqubnxgefmslkadrptzyi +ovgowxqugshaefmslkjdrptzyi +cvgowxquznhaeemslsjdrptzyi +cvkowxqubnhaeomslkjdeptzyi +cvgvwxqubxhaefmslkjdrptzyu +cvglwxqybnhaefmslkjdrptzyb +cvgowxqubnlfwfmslkjdrptzyi +cvaowxqubnhaefmslkjdrvtzbi +cvgowxqubnrmefaslkjdrptzyi +cvgowxqubnhaefmsnkjdfpwzyi +cvgawxqmbnhaefmsykjdrptzyi +chgowmqubnhaefmslkjdrptwyi +cogowxqubnhaefmslkjxrptzri +cvgohxqubnoaesmslkjdrptzyi +cvdowxqubnhaofmslkjdrpvzyi +vvgowrqubnhaefmslkjdrpthyi +cvgowxquknhuefmslkjdoptzyi +cvyowxeubnhaefmslhjdrptzyi +cvglwxqubnhaefmslkjdrptdyq +cvgowxqubnhaefmsikgdrptayi +cvgowxqubnhaefjhlkjdrpczyi +cvgzwxkubnhaefmslkjdjptzyi +cxgowxqubnhaefmslkjdrptwyy +cvgowxqubnhaefeslkjdrmqzyi +cvgowxvubnhaefmilijdrptzyi +cvgowxqzbthaeomslkjdrptzyi +cvgowhqubndaefmglkjdrptzyi +cvgowxvubnhaeamylkjdrptzyi +cvgowiqubnhgefmslkjdrctzyi +cvgowxqubchaefmslksdritzyi +cvgowxqubnhaefmsnkjdreyzyi +cvgowxqubihaefmslkgdrutzyi +cvgowxqjbnhaeamslkjdrptzwi +cvgowxzubnhaefmsxkjdrrtzyi +cvgowxqubyhaetmslnjdrptzyi +cvgowxquhnhaebmslkjdxptzyi +cvgowxqubnhanfmslujdxptzyi +cvgowxqublhnefaslkjdrptzyi +cvgmwxqtbnhaefmslkjsrptzyi +jvgowxqubnhaeamslkjdrpmzyi +cvgowxqubhiaefmsljjdrptzyi +svgowxqubnhaefmswkjdrpozyi +cvgowxqebnhaeqmslkjdiptzyi +cveowxqubnhayzmslkjdrptzyi +cvglwxqubnhaefmxlkjdiptzyi +cvgowkqubdhaefmszkjdrptzyi +cvgowxkxbnhaeffslkjdrptzyi +cugowxqubnnaefmslujdrptzyi +cqgowxwubnhaepmslkjdrptzyi +cvgowxqubnhayfmmlkjwrptzyi +cvgowxquenhaefmsskxdrptzyi +cvgowxqubnhiefmsrkjdtptzyi +mvgowxkubnhaefmjlkjdrptzyi +cvgowkquunhaefmglkjdrptzyi +cvgowxqubqhaexmslgjdrptzyi +jvgowxqubnhaefmslkjddptlyi +cvgiwxqubnhaefmslkjdpptmyi +czgowxqubntaevmslkjdrptzyi +cvgotmqubnhaefmslkjdrpazyi +cvgowxtubnhaefmslkqdtptzyi +cvbowxqhnnhaefmslkjdrptzyi +cvgowkqubshaefmstkjdrptzyi +cvgowqqrbnaaefmslkjdrptzyi +cvgoixqubnhaefmslkjdrpmryi +cvgoxxqubnhaeimsxkjdrptzyi +cvgowxqubzhaebmslkjyrptzyi +cjgewxqubnhaefsslkjdrptzyi +cvgowxqdbnkaefmslwjdrptzyi +cvgowxqzbnhaeamslkjdrftzyi +cvgoixqubnsaewmslkjdrptzyi +cvgswxqubnhaxfmslkjdrptzni +cvwowxmubnhgefmslkjdrptzyi +cvggwxqubnhaefmslqjdbptzyi +cvgzwxqjbnhaefaslkjdrptzyi +cvgowzqubnharfmspkjdrptzyi +cvgowxqubnhawfmslkjdeptzyb +cvuowequbnhaefmslkjdrntzyi +gvgowxqubnxaefmslkjdrjtzyi +cvgowxqubnhmetmsldjdrptzyi +cvgowxqubnhamfmsqkjdrptyyi +cvgoqxqubnhaefmslkjtrpazyi +cvgoexqubhhaefmslkjdrhtzyi +cvgowwqubnhaeflslkjdrptzyf +cvgowlpubnhaefmslkjdrptvyi +cvgowxouunhaebmslkjdrptzyi +cvdowhqubnhaefmslijdrptzyi +cvgowxqubnkatfmslkjdrhtzyi +cvgowxqpbnhxeumslkjdrptzyi +cvgowxqubnhaefmsukjjrptzyn +cvgowxqubnhmefmslzjdrvtzyi +cvtowxqubihaefmclkjdrptzyi +chgowcqubnhayfmslkjdrptzyi +cvguwxqubnhaefmblkjarptzyi +cvgowoqubnhaefmsikjdrytzyi +cvgkwxqubnhaefmslkjdrptchi +cvhowxqubnhaefmslkjdrvlzyi +cvlowxfubnhaefmslkjkrptzyi +cvgowxqubhhaefoslkjdrytzyi +cvgowxsubqhaefmslpjdrptzyi +cvgowxpubnhaefmslhjdrptzyb +cvgowxqubnhrefmjlkddrptzyi +cvgowxqubnhaxfmykkjdrptzyi +mvgowxqubnhakfmslkjdrptnyi +cwgowxqubnhaffmslkadrptzyi +chgowxquwnhaefmslsjdrptzyi +cvgowxqubnhaefmslkjdwpnsyi +cvgawxqubnhaefmslkldyptzyi +cvgowxqubnhiefmslkjdiprzyi +cvgkqxqubnhaefcslkjdrptzyi +cvgovoqubnhaefmslkjdrpuzyi +cvgowxqubnhaefmszkjdrjtzyk +cvgopxqubnhaefmslkjdqpnzyi +cvgtwxqubnhaefmslkjnrptzri +cvgowxqurnhaedmslfjdrptzyi +cvpowxqubnhaefmswkjdrltzyi +cvgowxqujnpaefmslkjdrptdyi +cvgowgqubnhzifmslkjdrptzyi +lvgowxqubnhaenmslkjdbptzyi +ebgowxqubnhaeymslkjdrptzyi +cvgowxtubqhaefmslkedrptzyi +cvgowxqubshaesmslkjdrptryi +cvgowxqubnhaefmflkjmrpkzyi +cvgowxqubngaefmslkjdrytzgi +cvgowxqubnhaefmslklhzptzyi +cveowxqubnhgefmslkjdrpezyi +cvgowxqubnhaeomslkjdrqtzym +cvgowxqubzhaefmslwjdrptfyi +cmgowxqubnhaefmsdkjdrptzui +cvlowxqubnhaefmslsjdrptzwi +cvhowxpubnhaefmslkjhrptzyi +cveosxqurnhaefmslkjdrptzyi +cvgowxqubnhaefgsdkjdrptjyi +cvgvwxqubnhaefmslzjdmptzyi +cviowxqubnhalfmslkjdrptzyr +cvgowxqubchqefmslkjdrptzoi +cvgownqubnhaefmsyktdrptzyi +cvgywxqubnuaefmslkjdrpfzyi +cvgobxqunnhaefmslkjdrptzbi +cvgowxqubshaefgslkjdrxtzyi +cvghwxqubnhaefmslkjdrbtmyi +cvhowxqubnhaefmslkjdrpnzys +cvgowxqubnmaefmslejdrptzyq +cvmrwxqubnhaefmslkjdrpzzyi +cvgowxqubshaefmslkfdrptzyu +cvgowqqubnhaefmslkodrpjzyi +cvgnwnquknhaefmslkjdrptzyi +cvgowxquxnhacfmflkjdrptzyi +ovgowxqubnhaefmslkjmrmtzyi +cvgowxqubneaefmslkedrptzqi +cvgowxqubphweflslkjdrptzyi +cvgowxqudnhaefmplkjdrptdyi +cvwowxbubnhaefmslkjurptzyi +cvgowxtubnhaefmslkjdrwwzyi +cvgowxqubnhkefmslajdrptzyn +cvgowxqxbphaefmslkjdrptzsi +cvgowxquenhaefmslmjwrptzyi +zvgowdqubnhaeftslkjdrptzyi +csgowxqubnhgefmslkjdrptzyy +cvgolxqubahaefmslkjdrpvzyi +cvgoqxquhwhaefmslkjdrptzyi +cvgawxqubghaefmsrkjdrptzyi +cvgozxqubnhaefmslkwdfptzyi +cvgowxqubnhaefmslhjdkptzzi +cvnowxqubnhaefmsqkjdrptqyi +cvpowxqubnhaefmslkpdrptdyi +cvgowxoubnhaermslkjdrctzyi +cvgowxqubnheefmslkjdrctzyr +cvgowxqunnhaqfhslkjdrptzyi +cvgowxqulnhaefmslrjdrntzyi \ No newline at end of file diff --git a/plot1_binTree.png b/plot1_binTree.png new file mode 100644 index 0000000000000000000000000000000000000000..c45ef5849bb5c8f50251763b296e21bbc3a6cecd GIT binary patch literal 22922 zcmdSBby$_#+cmlX0YwlIBm_a1gh+#Q8H+9zDWwsRE=egx>5%Rc0TBfOX#|vR6#?l6 z>F)aOXZbttdCxiT`TjWn9k0v1uf5k=&okqm_Z;^aW6pqk$}%KGmxxd(6p5TH<^c+Y z>y1L;jGZQc|HJ=tXbS!%{7g#onW~M+GiL*PW0aD?Gh0iWXO?D$SDcLP9n5U3`8b6* zdDyQ!efG@OL4=FT>c76gX=887_3IRt*n*<3Poyw{Ka`MnQewbY3|5jZa;KM zS{inCp->xbTwBTVd-E#clA@w|2N8;e&%N?2@`I9-*AvN`N7|Dd8V#v^U--ix zArh*hv**dk$ijy*QP4FvX`FlTX?@Fe zR3P$m8vI-EDH%(~|L=dysG-G9IpVRSQ`FYHshr>UtKx^(iVz(|vwl367s$*Ac( z*#>l5D6J)u#i&4YkxNieP(J#GR9A|)u;cv0P==E*$>V#?4!8Ep1BK2B!nlSf@wxBX zey^*OQ&KWM+TT)45sUB1)hK$tV_j8MWxrVFb+|@o)EHcDty$*2$7^l9-xJvv&8d^n z7Rxocylk!KRFsT7i zli0uh`YcsrQM~BkcLias; zcFMCghwEo;s`r?0-@XlB`jMqX`!*xvWJ}CafHp%WEX%y-gNv&x88x-+XthVV?f6TN zWaklALMke%7eA4>!7mZO2eWrd`!@c2pdX>W#w0 zr2{T7QFH5~U=S7uOT%0@W_a{#Q7B3-UB$K-4p!AH;+5(H&R8zJncV#9w|0|_mctcW z3E!xl-8eNoR=*L#BM zZkZ(hycfbq!1HKJBLf1=pqd5M#gv+;vkZXuoNP?;Tp{zt8%8Q-O-_;|Bd zetxu>3b6v5+GTI1`4T%!P8?u3LcG0ElSAbW+s2|!i`?4U+QG}im8OH`?2k*@QNa%~ z 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 literal 0 HcmV?d00001 diff --git a/plot_with_list.png b/plot_with_list.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2035adf5e82b1db5c66457a3b07d1d21bdf9d0 GIT binary patch literal 22141 zcmdqJbyQW``#!o55hagGODKYrgaXo_puz^}lvEIqZji9sawIFfjIm_(}XKMx#X7&hn&NpY@TsEN4pui)zM?lQk6u|uE;|u>);Gcrk>DXny+wHx z13U)88g%L`f=oSO_k#~g0snvcARpFb+|89=ZS4A1E#GZzB3r-0@l)<`{d4?6o$E28 zE|#Ba&LHb52p*w;%c91^>r|s5v9Yn7S~-~$HJ(e~K3r`&+LJo?jnCSN_s5ffJ}`C| z51~jLH1t&L?(S}FZS5H;u@ZzUa}8^B9UL6~{{72YI(YaakV(Md=NIA#|046w*7kQH zjGo$AYOL`Ro?5G`tECo^do`!n4R$Eb&=1ACO=Lwy(O`P6hKPSGG;On79{QwP@aVay z+p4vE`p@eL?4ndb{*#nb^+Nx_kr;j`LDpoF}$9Cv#O*Tixi(Ok@ zDVrR~Nc73h*2J~;_NuqX2=)e$ULumP`}yTHR^zGAhRCtxncv~sh96*25+pqPYCPQt z&YVHlgzkp%E0RVPY3UcMHQR;+r%$tsi|emduXngVEGjD6{M*Kh(=D<5yRo71&2eR_^8P-CyhN$;!fVFuz}*n@cC+kQM<$HW2>b+NN6CG*f^N@#!N4M6?J$Zg>X;7Jwk#VHdCN_0F1h0B%t)GuXGf)5F z_Jrq}yL(|_Aq5Rh=F#E)vAHXlIJckQMG^ZcKbEWq(Koegf){!-xFjSD4)?bsVKvGf zru#mb$gYf*DZ?9DoUE%0W|YWIQ;1w#%CDWUZOU5Rv0;AQQRR!5 zFE?A*5`RVL*>(?oG7+>H5s=tlF0vfRiMFl&b00&Hmf^j>rCZ}svbVXE0fu7L9L(Uc zRE;k^YwMg+ z+i^}iyS1R&NLU1`#lEb?-i(klWb~OZ=cPt+slEtqy^T@3x|Z>A1KyeqEESJ_X07+W zB|PQd?d?Gei%$b(0Sy|8-vgBvWgZ4uo3N^!!ESy)(TCVlpERrB;k8hd+t<>cfFxJT0! zFQq8P-kQ%%(atx#pC%t}9kRVPX(xA6T3Y%o3_iNCR=eNv{>gRy@~&Gp^?rC?nSG9d-pC4RZtTRzu8-xJ$SLCc6N5?u%#A8zK110e*QGh z(JjgDT6z#8(DMGt!Pcl9HA6;qwfI$0(UDAzEUd%c#)9;EjuvjE6Q+ApT1MubdWO<) zy3J^5yS; zuj(r;J3G@M#EN#4wKb|0jk`HdjUmZ%MGT%L!TyT;I@j zn)|N0GE$<6)8dX7ckkJ9YU3`G!)oQ|ICKw=6`BUYEb{NXJj21xp4nCHRFxaTAeNr1 zSC$Qa)4$YK@M+iWvT@f~pPe6p%$~gS8_UD$M@L7c&D)c{b*+)Sz72zW^TMakoLMX# zwdE2ZgO?kgm}r#jkg1)YVCcQ6>Af{4*LL%QHUR71qpD~f^<*|52 z4*S3*8X9(R7vbD`Th$90O7Vpf6IE{ct}7#Hj_BG8ROm)Ak62zzq4Qo884d$jA zUSd;Y1g#Q;&>!g*K6!of=1uTnp6zS1af|&pY7gsAIvTmUf}=bK#KSO@nz}kA9i2zR z?lEIvvP_`m-1lhRI-i;euXV-#EcN-1OSSY8o?CsP%92?x3CXk7(&S_K&4V4CocdE_ zL#%Xp{eIrTJ58^%KG$wzj_3BP>kh2!fDE}r>dwxy-Q8UbcIEbwZ(C<)-IS<-fdQ}Z zq4ZMu1!~>3+3JXXOU=W*&CS)SHADO1Z{NOIwYmuAZPn-#q^ZPUL-dwC5#l?$G4L?chy(n(iW6CQlEjNC3SMJWm zZbHCX+?`L1)F>cWldihbX|r2N$6C>rZ`q%X`d8bU%>gc-aj$1n^+yM(k!(emexCd^SQ#80f6|?oL6R9ThHj~KG=vYAmW%gN zUla~ix!FO4dD@k9$78)+2(@aQNpo^rW9AeU1l?S3%x-5P;{P1RbIYTaJGg% zUd(Oa!&O=EWHak?XaJ_ArKR?^4ZWsF!N8FFXSz8ta&s)A;_qx5PBrEJ9t1jK?u*pa z5JvYfZsRW6AF4xq_ZD&aVF?Mgo(B+N7s1t6u6Ky>?!|S)i*ZRw8KvBRCu(O1|0OSj z%gXaPK6LZmTgadjv<%CuJMxe?+L;!G+p{_y4z88RhA@s)IAsKoF>t~*by?_{#V+AL zVk|{YDVhE1O7@s~ev*kuYz>)sz(zw~dN#PB#nH0-U?!N+wn?y1%;~Y!KWj| zSu7S)_0M5f*?fw4&M4vWbZdFoWBF5av2hboiDkb$Sk_35XPH@NLN2R9#E|RDp~z~|r@coW4C$-Q6q5_`d=Z>~)mfxQn5+e+43y75E(ye>tCug=m(M47 zz6GnKI?079+UmbY-Dsqd^eR73M`!uW)AJITKR+3x__GPobzKitw{4bedNJ zJ5fwdPTre(N#2*KdbQ{(-VQlB7*rbQ zQXUWxojuDZLW&^e^pKgndHc55J4Ea%(UhQY*{IOv%YIPc+~%169%v^rA8ZFD58Hjb z(+FaJlj1h|LFWJK2iF!plA^1^*NHA8NP*ZTa+ak$axJUL*ZgL(4sz(&kA!YI{oPpn zEVWV3W>vhT6EktdF|jO1*3!NVH%73<3sV-P2_>3=SbkOvxxl+F1-HQ)BH<<2^-Lo)xhS zZOINK@H~9|#V&!xmTMUI%8Fm(9i$w-tmrZz51f8!q)!|?j%2YIVkprliA!vG9fyB1 z;Acz0jpee@u;|eIx$cHVCvVfDt0JW634ls_rYyYRpZ|f7>yVmEiAK0WS36ZDadi1bX-+PpZr#k09=xMa>?f2wphv9 z-GI-h#04u&ydPd)-s84F7fi)CVokmWo}2}Lu|&X(kRWQ%r`!(2LK})p^rD)KujnAgG|)AW7GnXH<0?wT&h- zE9o~YIg_8_>Ap2Lw$I#sfAU08GkT;o0=|JHGK+mI(%iU!D28*sDd+@^Z`h3AX=1>r z`$fhEOlr0*3-1u3>&Wid+*`CUfPLY4NLG^)(Yogz6Ll?Of5+_FzT$>qCcvT0MVZd%!$-2YpgXlU;Iylte0eO1|+^LOUX zd?rwZ4R-qjABhZaM^JAIzeqOiT)w&Oe2nkbo0Iu{fsu-LLhe>n>29pPB&`^aWjJ|a zE7u+8bi<=na!gOs5M8$3m9Ck)fmaj+&ngxUdEU*=$=4LP9R$Eu*W6zSx$9l(QOB~dLP*DXbEp{xq(^6DuXzE> zzquS|gC*kGb@Uv!554%q5q<7@%C`10%c<|&@@=i^Dc>%WR=xB*jJQUohpex!3ql0B zCo9`FI;saDpg&VJ@%Hxee(; zPo>KeTH}`5jB;{uwS55;XsC>o5WD%Kli<>WiSm5O=EHDlTQfp-p1R|sDzuC)u^Lpu zYE(FywnyENSsKiT^lH=YVCRp=LRzFV)PeHY+Py_CsBkTg4t5uN(t<1iT`17DcvwLv z;DpNw==_uf+eAcX1?C?7FB@EpY+o0jA5^YPeJsOV6a4W&Zq zJY?Y6_kyT&i_G3}M8kM)SLd4-U0hsjEKiR39qvAEzR^DE zp}|9Caq#lp?AolYD~mpB;P@$F&n;`n{1tmMln0?g-JFdyT10UPDBa!rm*^!ticjI= z+em%*@Znw*4T9{uFiYt1wugkWNI0kq3g&8j1-qbvcN|E@kUgL1YY17aDug^pqRB}a z#dRRJh+y##q}Io=b8uvJtwR!Gy?$h~^ZSRqqGHJ*l$sQ4v0!gxGy%!f^D8Qj_k%6{ z_pPRK``d$GS@bUAj^YHjjCg5;5DEL@7L`8Lf{P+QoLWPYFly#7}WI$bPXdj=D zkN|OneFGoyONlL;{nuwCn#D~!XkumTUxiv>Bv9haZz#CCFWFTmXJ)eZ=jv(em0EXK zt<~ZJnS6AxPd@1gJngz%bF{aVZCF$JF(n1HSu~I_h&uBL0siOu^J(kDn(C?l+GOg_ z-!TQ(KPH}fb?zdXAW8iBa#7Uhpqx`9GYKu=XTE(XHASJ9w{J-{0sG+K;IJI8ETQ5x zybguW#ZY|Y5!2t?fHR#V*&8|Hf^SLGjxXWB2i^N(e6T)1Q_c*rkcfmt!_tzo>LngR zHa~52)C2x)cKSy))0v5+R#WfxU=5a?BiAVtbo=#>`Uu}!JD}jjc%*q71akPYpLjq2 zCv!6k3(|N55S z#QVjZtt2yb(8k2ecN8fmJS&(A~^Xgk{zMdN^2XHeq)u?~{655ef9KF$+@SM2 zkML^#@jFdts};V`iw%Zo24{bJ;bFz%_U1LynHk(YXTIjcdAsh z5$)3i$M1ySz;p8U{vm`KX@OSn2~Cd-_s5M#MeJ~q(#cmyw1~UMa;zd6E2c9q*LW#2 zz<0suckHtyja>zHWmay+l@MYr)wa|BIy(u9Q7zLzTHvQ<+wrwgxA-t>O#k{`x#vZH zf@jeT=Uju~W!&a)y}p@qpL>J@<56m(D2SuCc4Q7agD$T;2ZS20RkAd5YWnT%U!bKP(b|FFBIp@>f7 zYNn|xOW4VX%W;osJRA(;eufg+Zf^aMc{jV-sx6$y=<5l2tW)m*1DbElEE;zQk_&3F zmw7Y_q6z7v=2F(wUnTwogZq~TO4IXj7mOX5g-@X`-gU7r+FIgj$JQ2|ne2;;XmYIbIY&!I#>}SwD3msvW+s=sQXnFh%czB2b385GH z2!Iq93(H+d0<(?kYH!(&J&m=a3Ai6jp9T37nlwVDgkoi{U*jQZ23oeYd)_6g7>nU- zs>O_Rzk4_JtoGkuQVLrZ8zE!6`%? zB)K?nH@s~RoO=0X$h*oPHJk#__t$emMwO>eGwFnEb6P^#M(5Th>x^E%ehs;Bi6SvX z{~#*vVzYKSer6c%Q)ROgN9tMHCrj^gVDO zr59E)^4U%M-zSHV7fMSZ$g+4$`jw(Gd8|iCPU`BQ=1rl0elyX#QWpS%`QX7@6f4E3 zO@Dny2>=_4WC7ZuUDDB=BD>VDZN%Lg1>Sgd23*Hp|9#WB8JtT=A)SL8IC8vWG-Hi` zwBBWr;z(Af%GCyvC^;+zBO?z6fDg{%2Wo0qn~6G7CQ1FQtgO<+SFc_f%aI}M+>YzH z9>ybPXrl0|ur_8#`H} z?bt0TZf?b;fn0UqF?h?Bl$DhMw4~U>Lxl5HgIp~SkDlzhS6VoBrW0-acxx0!Mpi}q z?DtedB_w>CfRtoA&3B*xvE<=~ItmA3S%C8bbbVoS&`2B5B1*W^`K$LcrTvK(yOLj4 z{J=w8?FIs5_AJ})V0t{sZ>g22_=aA@i|l+%{HVyRUBGTa9GzZ%%~lMWOoFihz|vm& zz2I?U*oP0vK8Jf8tgQD?RQYF9(CqB2sj(yCS2ODTyBKmZHVmDk9_hFi+p<&w-Vk-r zW14{BEAqJFVgVokIRyp7#~Y9-mJ8}d&YgicG$(iKBOR0-kNM^=<{ifAH*lSRic@PKzO<-{!${6a^?A(F=iuOzLLa3jLEckJ| z@Jz=TXXATD%kycqxhde>^!d@RsQ=9WahCWydw+K3A*G(!gZz?wt|0$VNtL~myZKEo zJY3vtI+K>rt_kUY;;)gY(dvfBL*tV(Kp-ffY*(f0N;VK>3Rs_mKeC5l?bq1w5#b=1 zAei5^Q3)TZwf+YajCp3wr{26ZpsWw)($0o8MtAyLM?8+-yh9EPHCQ?nHp4T{2x9)I zgwDfk>z0jzoGR@1+F#=j8fqEQtHa=Gw3IN0q#Y_tOPA?(u@>1=l zQ$HWG3JT%y@aQj*2e%v31Uz>A*H_H>*L&a-oM8Y#+cBMfoVJiy4?$X58V4Vr3hZMP z#}gw%rikDz_b&x)>K3hqah~?DI10_BSX?u8y-vYjTgNI?gs(5Bp%M1+MIsfpG4yn|v)}-d?pEe=Ad5fC1(0M!pRwMJ<8GL+h#>Evw{R*rb9Sv`Bro*WV?{ z_K~Q|P@MdbQPilacCtP9!l@87kw}jap|!c;EhBtC{R6`8b1k z0(u~)fkKI5z=vN2rzN1Nh=x|4rj2D-@3*R@g0gc;EqO#!pk4T=ZRD+K-kBgMMugNi zKZ;+>BPhca z<{iFSPz zUQx3y{}u;ZXZGmQD>S`wbVxqHqc--yyRM%8HW+x*t}Yb<0s@2I$9*J?@0*NOeSB)q zox?-6c&>=3*JN0CMK6mRXtU}tInVMi)u%-nBECnv=0K<`pnU9OM>^!TMQGfI6hot& z!Pgts{Y2Y?84@OtZ(6!uug{A%L`I7(O!l3eor_@uc8(G~r3tuj;exy<9pumuIV1p3 zr*t6Q;br^9L(P|oLd7f#6=IfI>b++n*rr7q#GeN0**|A@DJTy6G$P@oyg?2Mj^?702A>I|OkZGt?s0((@pbuA4yNWJ88O-z{^_v)!v8CLf)<0d8TaxU#*p1KZFc8cIl%z_?rYypHV{1yu#&?a^OQr+F1olK)T z9~3oxy#ToQ!ZVME$_Iux6#u#LO^=_kMhQg_f(e9KddrZbUJzrXB_$=TrxSum03=wf z351BsO~@sdl3SLF*Y4igjU8SSy%+Xpca7~-IVbGQSV61wD>4Cq^|jpM=HS4{1d?e2 zgRb}h+!+sB=M&thxz*=r7BPOX35!=;KI6{pTrDet`9&Y0Q6uCM5=TE z=@>*D?lRSf?Dg#Eh6RoQVVy$lJAIR({J7Hx=OhWwRU2-x%q1`PN*K>gcH)*3*J z><6F2iUBZJ%i8+7wl^U{=p+i4!uuJ2y+E|d%kCTArgr3qeRSi6 z{{wK#K6UEU_h5V^?Y_L(o!$NEr!goHVOF=K!QIyh719MS-_c>7M-YL5gU$kh$=~($ zUcmfVF<0-ueMHTN2>;vnU4L`O>u_?mQ-+_>=FTp@d=#V=AOtf2rAj}PA~Qe!)CKtr z;Ix$!y|wd*cA;f*Q}iwNw+v7}Liiyi5qF&V7naj?!WkZSY)t>+1w7=< zXK-hm359p`E~){pmuC^8pP~Ds!+n|Z5ji-K0Z0yj0Ts2|E1UGe0j3`N{w!jj3uIWI zd8>zw=ri5t6RW^j5%*`^-o^j^L_6|1t%zePR3B+qWrM$2mRPQiRe;i95CUNuK-QoIW6)i|v0% zkGqcApy`P|9;`+&DOX5eMnj>S9wDzp_IrJc<6OaS#K-TLl1kwJ? zNAhmhp{!QlNrfs12$pxw>g_5JLU+)RM=r7P9(?^3jQoQK8X(si$T!NTHu6$M6Z{s~ zPRC6UQ%j#_Nbb5MvRL%hZ1&YYCJ0r>+Yy3`L2GC^QC-1e0enAN;-aDh6m|z=5EP!Z3%iKmMpDYT~XKN zsOWA;x*tK@-{Vp09b~{ZF~3{syB%-B3^p^xj81jD(nZjshXn$FJi0R&+{Uh8P{tNS zTX`NeCSTv8(n8RESoebdPT)~J;{WQ^x6V%Gcu^NMHMO3SS^~sgbl!D8fy)=t!S}G* zA}|}E*ZbKLy*{Gi4v-0If+4bEK;=}hLRYJH>6UdD`Xz`9DPkm_{eFZh&Opl4-5Sp2 zvhhpRWqIgN%p|0nv1Pt*%2u`*2D6@v-g?a^^pD^16YVNLyUK-YAa_!O-N>mv=Nn1< zYcN02%gZb8nYVdIoGPe|P?;Nw)0Zwl&bfE6-YMw4=REG%#*IzoP*2Z9^+8pxxuA2b zwDRRgrcPhGK8btHb%bSkx2U2_UH~qK64oY(rJ}NuQ%Fb~OuYwoi1WdY11d*MPS*B0 z_Z$!ZOeRbX>TqrWZ%|6KwzqQ&)WEvGdGn?RbVzx-5{MsvRPkS4H0xnmNOLXee|b^T zPpvVp6iLs>SbEKt(Dgl3bB*xUHW#bB0QkW2SD*V<~q8q@T$a-g_IWVAvaDPMsV#Z>oU~6lH}( zT^3JdPJBiB5Ued4JsJ>^6&Y`8b)7VUnq0(y9A7kj9_mJrEjl{YRd$WsM^~XK$O_%Q&-Lc zpB0Bkf>86Bo4hcL(*7+q5Kr48~^sspc9IW)|@HR|+skdI~>TG2{6` zJ#E{4ko%I==P8}yuo3>3!Y>8VXAhenOnZ(fk})l$*iD;QG`47Y|?w%V)ySX7um-JD#gILp{hrpMp9Z*RdaND+N6(O(^0wtyjy1!B4l-f(n8ngM>&B;R4zv@`WaMu_uD5v6d0NUjk#k4fby2 z<004h4vlL2Ed|8@1A#Xw;4^GkQ|Fb>vhY0pyho9VcSY4mzq=nI|9$~-aTPDL+yz?0 z%;v#+76}&xLDGs`R3+Wgf<(3O9Br?GLoYPgc!)(c-QeX$ry+P|DaDIkW5M_9;o@gg zKCGQceR%2OjPVDj)kkVXnTfz8V7>?0lVy(x1? zauqGdQT}^b2U-5t05I;`-9yfN4?}!PFevc|*nj@sE$x0sAF%gF=F1-u-RlwS!I&R3 zlt}r_pi(AuM}>u&YaYIN4nw__#;^V!Oi)iYd=F26M5e}bJ0iopp-HZ&uyA9@B&21q zY^rtRSX>g;De5szOtE9)SDp!O%$r<>bn?nu*pNU2uP^uoGOm9Xy1-jWhg7+(`Apmd zf$Q}wVMN7pW=>D=ZX1*1Z=CR?P8;8eWmTsZxB4R!HZd)%+&`_o}MJmwE48^y2wYJ7ooE zP^Fb#xl?VsbHGBmhcT5jXS23378FE4@1y%n|%mDKVLmAcrb=qNfAlq&o(nPXj z7W)gahLu&pV+IBfl+Gj-L%oN3QBHNRp-d?g3smH@Z6&i|X zuK_pUQ}xiwJJT`rk@6243x>A@mn&<~^ zxT8;Z3ca{t#5+Ua(TG`m>o?WRx(vxB$`lYCfpJc;ps(%)kggeZtG(r{e;^#7ym{hw z@Q(*Z2rEjyv9f?=pkxuNFAD}MdMhteXcfn6N8YhPpi+olehPI(vUMYwbxKdZjrV{2 zu-&J*O{H3>Biu`Uy9HMF_6@y?`Bw=swGS;Gx)YKA?r9#6&2-S9MV}94tJtqWoLcYS z-<%__0!MO9^-c_sc+!V8--FN8w?HAEMDt{JZpq(WOu%jZJVtFk>MWYgCD_uh5u*BN zgxwfp@$du~QIz|D3%ZA{52(ZDo=G9DFJTJzo{rb5dsu#@Vo>hXN-C>D`Iy}7aNv~@ z3Td!E=J$4j8{KcDHYW-t3hC6|@kuGJ(x#vlrYyc6+Ho{R7Y~B140GH5MJZ)@tf=7Y zu1qqQ+35z^>&X6>jEji=OMEu|KC4y_2JvtXJ2&kbS33g~3IkVC&H^B~ep>E1jzuw- zmrABH>>uBjp^!5`f?y!XF$&3R|Ck@g(DB&>bwDmRDCkYo=~y z;&3-I6$9^X%1DjhNziM;^|0WoDi(?=M~^xM6QCVp<4BM6ubZAP1_XAwCcUQ?Ly1S>N8Ay>g^aTI- z^(w#)0Al{>dNKv32Ve2(hWviz-`SrX2t7rjEfP1fSi`pYr5M#5gw{pIq9TtICC7Dy z9pzG$mX-twH(Ec(gZ)DoO+9CDi3@aZ;NMl2;SIzofj|Sa1zC0jj93;IYc*9=FY}-M z>xTticuM2v#a_Xu16qLBUW1HdHCT7i*M!n`;Y@v&@G`@95CG?b__t+p(g;+xD2Ien zS=^!F;b~B8umk<+XTpK+>qjXxpn?w<6Y6kL)SwJFd>V-x>G<1pYl2j zk0MYeto#5`!9F~SymZrk?f8R%IJlj@Ii59XfH85JlxvRQ7WONpuko79m(tPFWr;yHRs+e&%03Ogzr}; zau1K5?~xyH8=%o!w9@T__1c6k0xDHb?ddEuLgvgB?m z6}N6GC6^XEGxO(L63~GsA|fJ>!Eh9N0loRTv5~ht??+=Gm!M$(R_OcpDskO-`p=o% z=zHVW@_S;uGiFv+v$aPD``^muryStb69_L;p_~Vl6c!WJ?t37`gPsS2r#_JE0yB^| z+ZKs~ln0A;prCXri2bXlL?t97W)~J7E)V1B*M5%^f2UgvDKGT_`9lanHIr$dI3v?` z@amg@97kt}zCvhvP(mAlruRVFH@mWuTVH=0I*}5>_2;AA(+kl%Um9M?y+h z3BNxsq1*dec1TwyY$&p;1=^j(nvQqQ-X(?LWmSlNAFk9B6tMiJKFjXDuN2oEwEokY z&0|c9?SYAyph`i0AR5f6P%)MVB?>rXvf+AXau^SIm;5t9cw)#1r~*C>-$DjUHgIMm*K9 z8WMfVcCI=3X5lXtmChi+5PRx*Kqiw_$J7DD^BB3fJV%17tm4}CZi4b9Zcj|1?P@G)nfS6R1)xg)&v;i{usi^gN%+R^BC-^h0dMMaaHy6rscl8NEABIH~nA2 zbs(vxb9ZBCvS%Yl3NFD)-D6&rYjE&c+H#6xLWabMF8f)1cJP6h@q2+}DjRa$&Dk|V zwAu(>hXfz`qo>~FPA2A{LM70Yv7mqLLH}CF%3{8l%lb#RU?r0!>upFCIu+68yN)pI zNy2)}!OAat(dS6rC|@Kq&I@;)Dode=ozzNC9i;8wg9(vxX?Ps!aF1KsiTM-x9Jp<+ z!?o!HU2QJh{8~=hiJAz0qzgZq$8@&#_f3*L{hRGA-^R)AQ}X#x@E~sl6~mzD;UJ`0 z_1CV7DXaVPviopES71{YlYQvCKm?#F6gPc<)Zc+O#10IW#S)q2=T2WvfWxsGX>s{y zng&#=_GV}0|3J|TZzxWuA$Jrj;QGgQMJoCVCY%0eN`?sz=iT^*LJF~0L0idy^X|Sh zxz@9XPf%vdwKSjHP}bk|^2P^8Czl%{3`mkN#B4UF9p{FUgW6GDdu}Nxj8JQpa8=jb zby&KE*b{k;;43l1)3o5W7GBPJhR18$bJy+DY4-sI3jwJRYx- ztw{LX$M!Lc>ResTYb=5JVBjW%P^1s6Dh#BC`=YQeHuWDP@|vN%Qq-QPh}mF_BG{&6 z*Cs8WE_B@Wu69fW5t|%V|2pJ`v6oSc<9H^aO4$oExr{b7|hfQ5qN> zNSe|#K(bV;Q)7fG>Y|rl>~BVpZ>UWUbT9UZzfq_}5S}-7XOqHqm%h+?S2`xn*@%1u z6G?^NZP}@7u3XZ3A9#t{0emEMGqAI6v7{|Q_OjU+Y;yDM3yT}!t-n6q(nN!Ah5hI) zkYm6+U3pgJvLy|7wUd8R>xpTElw@T`wKmKJ;3Hw+AnM6XL4^u(wV2w~_ki@5DApAj zmYH7IE#jEW*dR7PM$#r`&TYqab5%0V$w5N=Fl z#AOWq8=L1!iG>uDK<(&K08Ve69r({z z7sY@#fH>TDA;G zBDc@M6q{J!=1~3iZn#*l;3GrSM3+^*xH51Fm)cFt9owupIep5s8Ml|{dy(snAnU5g zb7p&6tI4;UfyK}aVB?Vn&uXDnP?8@frMHhDThR8Qp9ZZey61iMC)b426WtgFhsV4y zCxc57UA89xL6L6Fc53aY$6cwF2Wnvhb%J@{8R2%?S(_#uxS-`qcQj{Xq2pCwFf$7+=Mcd zJTGagfc90M2}$Y$JeP9p2Tba7BrJz7I!}bO{&P`%bVGo|_h;p*RzQTp;)- z?XFUSrdUXt#d<^Ui1V-FTMWXvUy5_2+rrkj`$+rSvK8MsT59HA*V}~_m$O8dmz8S! zyPm7lj<{S`bdV*IpDb`yqCDfDL;-@*H$+1A=Vm^||U60JXV+@7y32rmX#q5bTvl+B<@tKDL*-9(o`bp;Z!1dg*RiXF~sCru+JwS#u$= z`>qy)Lc7}Mg$E2ulDNhU{&4%f9BAALw-;3h-6V9>KJ$yTjNCr<3^HuU8*9B%JEjW_ zcw$q11oqI4NO$weztpdK}jc< zI#9trDbb~*rOiTtQ8+qZ8!G}okp0=cKq5pAy8@I4S(u}(lg zx!%%li57tk+nvQPB6_%;sBAuGSU3Zz5n5U^zwo9|{i^rD^ytX0AcT`(pZ!~Nyh1*R zN+><|j&23@+Twk0Y3WW^j1}|^*xw%(fv>D(~ z{kDnzM{p#l$d+wVMai%h$jsJup`)XG&0%)}DbUl;8(dwJe^y?RX(=KF8US?w{@xHB z8MScD&$mREL7M|j2DcxZa)Jg3OF$+{q)1Lo+zUiC?@ru**Hdm;S6%Gg93M#0-qeSP z3+;d$^=$@6hPJ-P$A^=?N@ClSPOP1sz3&vDYt!#| zrkJ3>dbrTh#YGcnzvKlB217(nUN_|gt^2bJ4-d8@ZFIAyY^f3O{tXt}`|i)4Wx^Q% zCtWx({g(Zp((NxaRk#S^ID~>XV;uNclq1PEtbrEx6rj4Sz>0u2Qc0Bb20#ZvRIKAF z5tI}Yb@=%T)%kw;a#s+#ii4JG9dQcxibo!q? zsE`u zF$|3qW5hdjI=Na55*`{*E`dtsUgatXFyW`1SFSWztf_yap?E}3#79Oz6L{*a4Bpot zi(f%km6nl#1Cc0@I2|cJhM>t+Utgc%{CU-!{PX|(GgW+?+4-2{f4L|bnYN!bnaa^S z>Tu{7A%-5>lSUErT%V^Iu>9y*E^WYIEwiWppRcQ@(dSk=1uI~G(;9@?|5qKc#WLub z45++pb~X*&(a@h|Cd;V>y;)iyRGnE{%Lnxnus3%A6Zem3fm3n-Re*MGW+^Etm&HCX z2Fx{99-se}EsirK3I2bj+YT}W!@vKQCi&N|r|zDfI5=eh8tyfc_aj7q3LgOVRtbI9 z8p+ZGaHbEOwNlr0(B|IR($a!9xB<@w1$`>0oEL#nW!>S)8&CUs1(@4TiS4+>!F*oe z=Fmnh^gIXHOvJg3-OWEH89kS8z+mr~q-wjIWoZI`O5+vt!+d*yXWD>8wE|&^p&LjDMAiP&eOzihIEYMzlASCxdr&Uq`VcSh^q8 z?!kOyO<(;C0C}jm0Xl%uX;6ZtfE|AYC`9prW+C*B+sfU9sat>+G&MDq2B!BF&Izz? zTOKKCd;cWoVbRx|s3v9!iSbO}sXoE_q36YX1)9u;CSd(-1Ds!A4pZLyxSp$pJI}~y zTfI4;S84%maRDH1xB=FM{a1$>mfl<(XfgkE&K~Pn#uQ|yFlmqSD^jmuY0QQZ42vvgF|NEloxngq>c7@4#HkL1*)Hn?_Gs% zboAtyKXBI2@SMm`VG7n#WaL9!9KFp*F$V3!w19((&<<3HOb;Gt6#|mQifL$Qz^1|^ zID~}Cy2|^qH5EXgL?*-oHlhM29uU=Nx43_O)bN7f&Fk0Q_~hbAu#Zq-Y$%&@Y5QcI zZ{3B97m44=05ArJru17H|jzdf3ov^|}(KgP-i!S!B%}A`qOv zqz2-9o9Lk-9pFNrf`o%Lp&~UkJ-yZV6FVFZgI$075(N4oj1mIQzf_=+al3lA<0hGQ z8?>eGB*MKp;gAbx1U-=xSim_E*U~s2{_k-zYbM+IS0|c-?pI+=CV&=>RJ#`escAnU zZch6W4yjo{d24jXd?x073OWxuVf!Qi*!pnVyrZ5qU3KSW=>k!)G^jODc`=9qK=F_d z(qb8S?ogHt+CbmRxb3*8s7&9B%aLRyt=@R|8{aLIrjBLHKJUC)08#Mh{VAo25WaY)6hjLjRgToho z!8C7)DZNH<$O+$LZ<~qghiEUPaN30`zZE$U-pnp8dQ3#e|0gmEacH))|QBv*lFj+ z`&0;=IG`~7(@{7TdT6mMqn<7szE?pw*AGXsZBhjOs0xv~6&91>|5a`O-EG5p+PZxk%13g^|Ot!T1JDhQ|7;T=Q3Sod% zq*+*>m?(+i&+p$VfGw7I?K+MMz&fG;Bap?{u5lT{ioj7>ec&NB;4!#FMJu}wAX{o3 zAFt^u|I*yN)Rinl#?MnW;em5q9!dtu=!lQ8u`zlE%xEHmHwjA?D1PS+PCe~RkjRF8 z_uu<={l8xMPnU*Mro*@I-@}3weuSXsA3e;~`tN(70v-WCR5UrWZaV;VPoZwEW%tK> zug!UQ=36JBL%hU#_$FvEC}P$~rn{ig7<7L%UFK%~M3m@;;Qnu=oNG*zXBdXtE{w#Y zWTAtVqO#0kH;`4zp#xcrgDU7I>QETtSQyl1f*_!!vc+V`Y&lOX6FG-CCJY8LoFTFq zAXpAVhMXx_DBw&wDCme-c0c{S?9YDkgHpcl{hs%EzvsHI(4YJYQ&jgo_P%i8a6D7= zM@V9&_D-#9LM5&S04WX%$}do>6Vh5@j7SOb&~A1?a1`U1=b21F=BiXsRp8aLMvY3@BP$ln?o2m=kjtY5j9--|IiucH@c%Hqj zs<(1Kl*@l& z`QcOZ$94HdMUs|8?R0i_wg7AX(?y}s$7iB-+rgce+3U|kJF;fq&{1MHEdjB4F<5*o zrf4KqCK1)CA1kTwFdMqlg0>Q72Q(1=4q)U!)VQlfUm&}Icll?Rd9UIy99!@|tM z@+JR^uG22kW!1uvt!u<3VQ1Q|J{i^sRGN$da4>F&ew_Y$eVxl>GR0^hRcO&{ru&BP z{vmp*y|-CaUgCW6R-<{-Kj8WaV|%p26=kQubXIx+ZKP;l?tipK|JpS1S++`lsF|NF-j=Zb@e`X9Pg}pct~3 zuFRRcmtEf@3qV#TlvPJ-YwIE#)>jv!*!Wn$qg!*hLh(`GwQq?*rx){th5?&Q?OAz_ z;E}VFlNh}xdhrobPobPl=MTUP9T3yZ)#l+-FK*?87rsxW&Ng$DxLdR+O64 zXbxX}H~1m8Z{@;AuXF@gFjz@^`crgNgnEcjV0&Pj`0;$t!kk_Y)c6>EPyImok0`=7 zp%H6chr_E1v!7c;nH55k==Ty%Akr?)KTbAvFIw(YR9LWWNn=F7Cp1v-C(KtVuERD1 z0b<82*`5f+MbCNrg7I_AsKN)0US}q6Vifice14dD71m&%fmuu}fBemEO6V;%4}36$ z|2H-x7jzsHfAvHv%sO_Sp{lM+)!sD?U zwS2jm38Fp_3n6%+{{|Vf?D}|^IU`RwBXAQ6hoRUa@03~Y1)q-$mka3jL;vz-jM@NW z2BJM0-0C%1fpp{R-psjD*chdtY-vbz4%`(!{Yhac0co)JoW{yS8&hmDY?_XuhaTD3 z!K~optRzxl9Hjx|ibZD@U9@9fi2JYJ<{(P?b-~ZyzXv3ujnk3e(ImE@u`xcF!f&jh zNXp>3r1S`I{3#ZiK%FWBF~*l!dfAZCmD@!&=^$jm8_!Sp3w8MDsf+aK+h+~F8g)> zTI6Bu&PANw^Nh`RI-n0~J( literal 0 HcmV?d00001 diff --git a/plot_with_set.png b/plot_with_set.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae06e83bb3776ac21df48907cddcdbc6451b85e GIT binary patch literal 25241 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 C_7#T! literal 0 HcmV?d00001 From dcf470b759376d7a4e8ffe8200a0d02613c09fe1 Mon Sep 17 00:00:00 2001 From: bLeadDev <59748268+bLeadDev@users.noreply.github.com> Date: Wed, 15 Nov 2023 17:31:59 +0000 Subject: [PATCH 9/9] Added plots --- day01/binTree.py | 7 +------ day01/day01.py | 14 ++++++++++---- plot1_binTree_rel.png | Bin 0 -> 30417 bytes plot1_with_list_rel.png | Bin 0 -> 31475 bytes plot1_with_set_rel.png | Bin 0 -> 31763 bytes 5 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 plot1_binTree_rel.png create mode 100644 plot1_with_list_rel.png create mode 100644 plot1_with_set_rel.png diff --git a/day01/binTree.py b/day01/binTree.py index 2549054..fa83859 100644 --- a/day01/binTree.py +++ b/day01/binTree.py @@ -1,6 +1,5 @@ class BinTree: - def __init__(self, print_debug = False): - self.print_debug = print_debug + def __init__(self): self.data = [] def _print_entries(self): @@ -21,12 +20,8 @@ def add(self, number): #at least two elements are in the array ret_val = self._binary_search_(number, len(self.data) - 1, 0) if ret_val[0] == True: - if self.print_debug == True: - print(f"Element {number} is alread at pos {ret_val[1]} in set") return #entry is already in set elif ret_val[0] == False: - if self.print_debug == True: - print(f"Inserted element {number} at position {ret_val[1]}") self.data.insert(ret_val[1], number) diff --git a/day01/day01.py b/day01/day01.py index f51dcd9..17e9eb2 100644 --- a/day01/day01.py +++ b/day01/day01.py @@ -22,7 +22,7 @@ class Frequency: def __init__(self): self.currentFrequency_1 = 0 self.currentFrequency_2 = 0 - self.uniqueFrequencies = BinTree() + self.uniqueFrequencies = list() def calibrate_task1(self, num): self.currentFrequency_1 += num @@ -31,7 +31,7 @@ def calibrate_task2(self, num): self.currentFrequency_2 += num if self.currentFrequency_2 in self.uniqueFrequencies: return True - self.uniqueFrequencies.add(self.currentFrequency_2) + self.uniqueFrequencies.append(self.currentFrequency_2) return None # put your inputs file next to this file! @@ -48,13 +48,19 @@ def calibrate_task2(self, num): retVal = None times = [] start_time = time.time() +last_time = None while retVal is None: for line in lines: retVal = f.calibrate_task2(line) if retVal is True: - break - times.append(time.time()- start_time) + break + if last_time is not None: + times.append(last_time - start_time) + start_time = last_time + last_time = time.time() + else: + last_time = time.time() x = range(len(times)) plt.plot(x, times) diff --git a/plot1_binTree_rel.png b/plot1_binTree_rel.png new file mode 100644 index 0000000000000000000000000000000000000000..e77767978ab25e28bd38f63c067d898eb1bce1ff GIT binary patch literal 30417 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