• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Write Algorithm – interview question

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Write Algorithm – interview question

    Percentage of trading in bank between 8:00 to 12:00 is as follows.

    8:01 - 9:00 20% [i.e each minute is 1/3 %]
    9:01 - 10:00 40% [i.e each minute is 2/3 %]
    10:01 - 11:00 30% [i.e each minute is 1/2 %]
    11:01 - 12:00 10% [i.e each minute is 1/6 %]
    -----------------------------------------------------------------------
    Total 100%

    Now write an algorithm which will take start time and end time and calculates the % of trading done.
    For example:-trading between 8:45 – 9:00 is 15 * 1/3 = 5%
    Trading between 8:45 – 11:30 is
    15 * 1/3 + 40 + 30 + 30* 1/6 = 80%

    I couldn’t said answer then and there, But said my approach as follows.
    First I will write a function wich will take start time and end time forms an array as follows [8:45, 9:00, 10:00, 11:00, 11:10]
    Then I will write a recursive function will traverse through this array and calculates the total percentages!!!
    They are no takers .. any solutions…
    Reality keeps ruining my life...

    #2
    Such low level code monkey stuff should be done in India surely?

    You even have a spec for it there.

    Email spec and InfoCrap or similar reply with the code 10 minutes later, all forra fiver.

    Meanwhile you design for security, resilience, scalability, performance etc.

    That would be my answer.

    Comment


      #3
      Originally posted by DimPrawn
      Such low level code monkey stuff should be done in India surely?

      You even have a spec for it there.

      Email spec and InfoCrap or similar reply with the code 10 minutes later, all forra fiver.

      Meanwhile you design for security, resilience, scalability, performance etc.

      That would be my answer.
      tomorrow they will be capable of doing that list too..
      then we need to flip burgers
      Reality keeps ruining my life...

      Comment


        #4
        not quite

        Not quite - tomorrow they will say they are capable of doing that list, we will need to take a job at the zoo cleaning out the elephant pen so we are experienced when they muck it up.
        Always forgive your enemies; nothing annoys them so much.

        Comment


          #5
          The Solution

          You would find the solution to be simple if you give it a thought :

          8:01 - 9:00 20% [i.e each minute is 1/3 %]
          9:01 - 10:00 40% [i.e each minute is 2/3 %]
          10:01 - 11:00 30% [i.e each minute is 1/2 %]
          11:01 - 12:00 10% [i.e each minute is 1/6 %]

          Its here :

          1. Take the start time
          2. Determine which of the above 4 blocks it is in
          3. Take the end time
          4. Determine which of the above 4 blocks it is in

          5. If the start and end times are in the same block
          6. Then find the difference between the times
          7. Multiply the result by minute's % value for that block to get the final result

          5. Else If the start and end times are not in the same block
          6. Then find the difference between the start time and the next highest hour in that block
          7. Multiply the result by minute's % value for that first block to get result one
          8. Then find the difference between the lowest hour and the end time in the other block
          9. Multiply the result by minute's % value for that second block to get result two
          10. For all other blocks if they overlap, simply add the %age associated with the block
          11. Add result one and result two and the other block percentages if they overlap to get the final result.

          Last edited by phpexpert; 4 December 2005, 01:22.

          Comment


            #6
            God, I must be bored.

            - Build a table with percentage per minute.
            - Add table values from start time to end time.

            As usual, I suspect I've missed something.

            "The fewer lines you write the fewer mistakes you are likely to make."

            Comment

            Working...
            X