Define Input - Output

  • How Input is Stored.
  • What kind of value are there.
  • Are there any negative value.
  • Will there be any Empty data.
  • Can i assume there is always valid input.
  • Will the size/number of data be greater that integer max value.
  • Are we returning indexes/data.
  • What if there is multiple Answer.

Check on Size - Range - Scale of data

  • How big is the size of input.
  • Do we take into account of integer overflow.
  • Size of array or N or Length
  • What should we do if the size of data count grater than Interger range.
    • Suggest we can use linked list
    • own custom data type.

Checking for running Enviroment

  • What type of enviroment the algorithm will be running.
  • Can I modify Original Data
  • Can use Leatest Language Feature.

Walk Through Solution

  • Start Writing comment in Editor.

    • Outline Step by Step
    • What it is what you will be doing
  • Let them give feedback before you even start Programming


During Coding

  • Always speack What you are thinking

  • See if you can Divide problem into Subproblem

  • Seperate code into Logical unit

  • Discuss Tradeoff

    • Consider Pros and Cons.
  • Are we Favouring Time Coplexity Over Space Complexity

  • Discuss about memory footprint because of recursion call

  • Came with own test case and test on it.

  • Explain time Complexity and Space Complexity.