Fast R-CNN

Complexity arises because detection requires the accurate localization of objects, creating two primary challenges.

  • First, numerous candidate object locations (often called “proposals”) must be processed.
  • Second, these candidates provide only rough localization that must be refined to achieve precise localization.

Solutions to these problems often compromise speed, accuracy, or simplicity.

In this paper, we propose a single-stage training algorithm that jointly learns to classify object proposals and refine their spatial locations.


  • At runtime, the detection network processes image in 0.3s (excluding object proposal time)
  • Achieve top accuracy on PASCAL VOCs 2012 with a mAP of 66% (vs. 62% for R-CNN).

Read More »


Problem description:

Create a cache for looking up prices of books identified by their ISBN. You implement support lookup, insert, and remove methods. Use the Least Recently Used (LRU) policy for cache eviction. If an ISBN si already present, insert should not change the price, but it should update the entry to be the most recently used entry. Lookup should also update that entry to be the most recently used entry.

Hint: Amortize the cost of deletion. Alternatively, use an auxiliary data structure.

Read More »


Problem description:

Write a program which takes text for an anonymous letter and in the character set the number of times and determines if it is possible to write the anonymous letter using the magazine.

The anonymous letter can be written using the magazine if for each character in the anonymous letter, the number of times it appears in the anonymous letter is no more than the number of times it appears in the magazine.

Hint: Count the number of distinct characters appearing in the letter.

Read More »

14. Sorting




Consider the problem of designing an online calendaring application. One component of the design is to render the calendar, i.e., display it visually.

Suppose each day consists of a number of events, where an event is specified as a start time and a finish time. Individual events for a day are to be rendered as non-overlapping rectangular regions whose sides are parallel to the X- and Y- axes. Let the X-axis correspond to time. If an event starts at time b and ends at time e, the upper and lower sides of its corresponding rectangle must be at b and e, respectively.