CompSci 6
Fall 2007
Program Design and Analysis

Algorithm Problem Solving and Testing

APTs are meant to be quick, half- to one-hour problem solving and coding problems. Each problem typically involves writing one or more methods that can be uploaded and tested on a variety of different inputs. You can write any additional supporting methods you feel are necessary; the only restriction is that your code must be all in one file when you upload it for testing.

See the bottom of this page for links to problem statements.

Testing your Code

You should upload a .java file for testing that contains the class and methods described in the problem statement. Be sure you have the correct class name and method signature. The online testing system will make it clear if your program fails to compile.

You should most likely compile your program before uploading it for testing, though you can certainly use the online testing system for compiling as well as testing. However, using the online system will require more time than using your local programming environment. There is no limit on the number of times you can test your program using the online system. When you are finished testing your solution, you should submit for grading using the standard submission system.

Each time you want to test your code, follow these directions (even if you are testing the same problem over again):

Problem:

Code file:

Problem Statements

  1. Fermat vs. Pythagoras
  2. Flapjacks
  3. Picture Frame
  4. Parking Spaces
  5. Number Fill
  6. Rat Route


  7. High Card
  8. Sorted Freqs
  9. Anagrams
  10. Aunt Uncle


  11. Birthday
  12. Compress
  13. Punish1
  14. Punish2


  15. Speed Dial
  16. Member Check
  17. Coach
  18. Thesaurus


  19. DNA CG Ratio Max
  20. Prefix Code
  21. Common Count
  22. Run Length Encode
  23. Repeated Substrings


  24. One Heap Nim
  25. Laundry
  26. Hinged Door
  27. Div To Zero
  28. Pancakes