For this project, you will be given five technical interviewing questions on a variety of topics discussed in the technical interviewing course.
We write up a clean and efficient answer in Python, as well as a text explanation of the efficiency of our code and our design choices.Our solutions most as efficient as possible. We need to do a good job of explaining our thoughts and our code must be elegant and easy to read.
For each question, create a solution in Python. All solutions will be functions named as “question1”, “question2”, et cetera. You can feel free to make additional helper functions or classes as needed. Code solutions must be in a file called "solutions.py". In the same .py file, include at least 3 test cases for each solution. For each test case, write the function call with the input you want to test and print it to the console, like "print question1()". At least 2 of these must be edge cases, testing inputs such as null values, empty inputs, unusually large values, et cetera.
We wrote up an explanation for each question in a single separate text file (called "explanations.txt"). Our paragraph is not be a detailed walkthrough of the code we provided, but provide our reasoning behind decisions made in the code. For example, why did we use that data structure? We also need to explain the efficiency (time and space) of our solution.
You need to have Python 3.x software in your device to execute the code(s). You may installa it from the website
https://www.python.org/downloads/
or if you prefer to use anaconda environment:
https://www.anaconda.com/download/
I would like to thank Udacity family to give me such an efficient education and experiencing various of problems to escalade my skills.