so here is the list of Top five fastest centuries in the One Day International Cricket
1. AB de Villiers – 31 balls
South African Cricketer, AB de Villiers currently holds the record for the fastest century in the ODI Cricket, he achieved century in 31 balls and scored 149 runs in the match against West Indies at Johannesburg in 2015.

2. Corey Anderson – 36 balls
New Zealand Cricketer, Corey Anderson currently holds the record for the second-fastest hundred in ODI Cricket, he slipped to the second spot after the De Villiers 31 ball century at Johannesburg, previously Corey Anderson used to hold this record with 36 balls hundred and he scored 131* runs against West Indies in that match at Queenstown in 2014 and remained unbeaten.

3. Shahid Afridi – 37 balls
Pakistani Cricketer, Shahid Afridi scored a 37 ball hundred back In 1996 at Nairobi against Sri Lanka, he scored 102 runs in the match and this century held the record for the fastest century in ODI for the next 18 years until Corey Anderson broke the record in 2014.

4. Mark Boucher – 44 balls
South African Cricketer, Mark Boucher scored century of 44 balls and he scored 147 runs against Zimbabwe in this match at Potchefstroom in 2006 and remained unbeaten in the match.

5. Brian Lara – 45 balls
West Indies Cricketer, Brian Lara scored century of 45 balls and he scored 117 runs against Bangladesh in this match at Dhaka in 1999.

Interesting Fact: Both the current fastest centuries in ODI Cricket are scored against West Indies Cricket Team