Gray began his collegiate career at Howard College, redshirting his first season. He was originally going to transfer to Tennessee but then coach Donnie Tyndall was fired. Gray accepted a scholarship to Houston when leading scorer Jherrod Stiggers turned pro a year early. As a sophomore at Houston, Gray was suspended for a game versus SMU by coach Kelvin Sampson for being too selfish and not playing good defense despite his high scoring. He averaged 20.6 points per game as a junior. Gray was suspended in the first game of his senior season due to playing in a church league after his friend paid the $5 admission fee. Gray became the American Athletic Conference's all-time scoring leader on February 11 in a 73–42 victory over Tulane, breaking the record set by Nic Moore. In the AAC Tournament, he scored 33 points in a 77–74 victory over Wichita State. Gray hit the game-winning layup with 1.1 seconds to go to beat San Diego State 67–65 in the first round of the NCAA Tournament. He finished with a career-high 39 points. He scored a conference-leading 19.3 points per game and dished out 4.4 assists per game as a senior. Gray was named to the First Team All-AAC for the second straight year. Gray scored 1,710 points in his career, which was the highest mark in the AAC though this has since been surpassed by Quinton Rose. Gray graduated from the University of Houston in December 2017 with a degree in sociology.
Professional career
After going undrafted in the 2018 NBA Draft, Gray was signed by the Houston Rockets for their summer league team in June 2018. Gray played on their summer league team, but due to injuries his minutes were significantly limited. On August 10, 2018, Gray later joined the Rockets for training camp. On October 8, 2018, Gray was waived by the Rockets. Gray was selected in the second round of the 2018 NBA G League draft by the Fort Wayne Mad Ants. He was subsequently added to the training camp roster. On March 29, 2019, Gray signed with Pro A teamJL Bourg. On May 28, 2019, Gray signed with another team in Pro A team, Levallois Metropolitans, for the 2019-2020 season. He averaged 14.5 points, 2.9 rebounds, and 2.8 assists per game. On June 17, 2020, Gray signed a contract extension.