In the case that your graph satisfies the conditions of Ore's theorem (so that it's Ore closure is $K_n$ after 'one step'), there is an easy algorithm to find a Hamilton cycle.
Arbitrarily arrange the vertices $v_1, \dots, v_n$ in a circle. If all consecutive vertices $v_i$ and $v_{i+1}$ are adjacent in $G$ (subscripts are read mod $n$), then we are done. Otherwise, if $v_i$ and $v_{i+1}$ are non-adjacent, find an index $j$ such that $v_i$ is adjacent to $v_j$ and $v_{i+1}$ is adjacent to $v_{j+1}$. Such an index $j$ is guaranteed to exist by Ore's condition, and can be found in time $O(n)$. Change the ordering of the vertices in the obvious way, and note that the number of non-adjacent consecutive vertices has gone down. After at most $n$ steps, we will output a Hamilton cycle, so this takes $O(n^2)$ in total.