Brown spielte drei Jahre für die Xavier University of Cincinnati. Die Saison 2007/08 war dabei seine erfolgreichste. Mit den Musketeers, dem Team seiner Universität, erreichte er die Elite Eight. Dabei war Brown zweitbester Scorer und bester Rebounder seines Teams. Dennoch verlor man dort gegen die UCLA Bruins mit 76:57. In seiner letzten Saison erreichte man zwar nur die Sweet Sixteen, aber Brown konnte seine Leistungen noch einmal steigern.
Beim NBA-Draft 2009 wurde Brown an 40.Stelle von den Charlotte Bobcats gedraftet. Mit den Bobcats einigte er sich am 13. Juli 2009 dann auf einen Zweijahresvertrag. In seiner ersten Saison bei den Bobcats spielte er insgesamt 57Spiele und erreichte durchschnittlich 3,3Punkte pro Spiel. Zudem erreichte er mit den Bobcats die Playoffs, wo man jedoch gegen die Orlando Magic ausschied. In der Saison 2010/11 war er auf der Position des Power Forward an dritter Stelle hinter Boris Diaw und Tyrus Thomas gesetzt, bevor er im Zuge eines Trades an die New York Knicks abgegeben wurde. Bei den Knicks wurde sein Vertrag aufgelöst und Brown kehrte für die Saison 2011/12 zu den Bobcats zurück. Zur Saison 2012/13 erhielt Brown keinen neuen Vertrag in Charlotte und wurde von den San Antonio Spurs in den vorläufigen Kader für die folgende Spielzeit berufen. Im Oktober wurde er jedoch wieder aus dem Kader gestrichen.