From 338dee047eb305c79997170751cb8d4dc2e3bb8c Mon Sep 17 00:00:00 2001 From: Luke Gavel <73441395+luke5799@users.noreply.github.com> Date: Mon, 1 Nov 2021 14:48:18 -0400 Subject: [PATCH 1/2] Add files via upload --- challenges/LukeGavelWork/README.txt | 11 +++++++ challenges/LukeGavelWork/RelationalModel.PNG | Bin 0 -> 28527 bytes challenges/LukeGavelWork/restAPI.py | 32 +++++++++++++++++++ challenges/LukeGavelWork/restAPI_test.py | 16 ++++++++++ 4 files changed, 59 insertions(+) create mode 100644 challenges/LukeGavelWork/README.txt create mode 100644 challenges/LukeGavelWork/RelationalModel.PNG create mode 100644 challenges/LukeGavelWork/restAPI.py create mode 100644 challenges/LukeGavelWork/restAPI_test.py diff --git a/challenges/LukeGavelWork/README.txt b/challenges/LukeGavelWork/README.txt new file mode 100644 index 000000000..261339016 --- /dev/null +++ b/challenges/LukeGavelWork/README.txt @@ -0,0 +1,11 @@ +Hello, this is my work on the backend and database problem. + +It was the first time I coded API related software and was struggling to find +a way to test it while flask was running. I believe it is set up correctly, +but I'm not familiar enough with flask to trigger the post or get commands + +Next I have a layout of relational model version of the NOSQL model. Again, +not extremely familiar with databases so from looking at examples of relational database +I think I understand the gist: grouping data based on its relation with each other. +Apologies if I missed the mark on that. I did not have enough time to work on +the second half of the challenge. \ No newline at end of file diff --git a/challenges/LukeGavelWork/RelationalModel.PNG b/challenges/LukeGavelWork/RelationalModel.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d8e0d4e9d0adc5725fae1376dbac37c9a87c5a5c GIT binary patch literal 28527 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 Date: Mon, 1 Nov 2021 14:51:28 -0400 Subject: [PATCH 2/2] Add files via upload --- interviews/python/Solve.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/interviews/python/Solve.py b/interviews/python/Solve.py index e69de29bb..3dc2eac09 100644 --- a/interviews/python/Solve.py +++ b/interviews/python/Solve.py @@ -0,0 +1,20 @@ +#values added to dictionary recursively to save some time over iterative +def encode(arr,dictionary,ind): + #if gone through whole array + if ind == len(arr): + return dictionary + #if the letter/number has been seen before and exists in dictionary, increase the value by 1 + elif arr[ind] in dictionary: + dictionary[arr[ind]] = dictionary.get(arr[ind]) + 1 + encode(arr,dictionary,ind+1) + #the value is not in the dictionary and therefore needs to be added + else: + dictionary[arr[ind]] = 1 + encode(arr,dictionary,ind+1) + +#empty dictionary and data set +dictionary = {} +data = ['t','t','t','t','b','c','c','a','a','d','r','r','r','r','d','y','x','x','y','j','q','u','i'] + +encode(data,dictionary,0) +print(dictionary)