  In this article, we provide new structural results and algorithms for the
Homotopy Height problem. In broad terms, this problem quantifies how much a
curve on a surface needs to be stretched to sweep continuously between two
positions. More precisely, given two homotopic curves $\gamma_1$ and $\gamma_2$
on a combinatorial (say, triangulated) surface, we investigate the problem of
computing a homotopy between $\gamma_1$ and $\gamma_2$ where the length of the
longest intermediate curve is minimized. Such optimal homotopies are relevant
for a wide range of purposes, from very theoretical questions in quantitative
homotopy theory to more practical applications such as similarity measures on
meshes and graph searching problems.
  We prove that Homotopy Height is in the complexity class NP, and the
corresponding exponential algorithm is the best one known for this problem.
This result builds on a structural theorem on monotonicity of optimal
homotopies, which is proved in a companion paper. Then we show that this
problem encompasses the Homotopic Fr\'echet distance problem which we therefore
also establish to be in NP, answering a question which has previously been
considered in several different settings. We also provide an O(log
n)-approximation algorithm for Homotopy Height on surfaces by adapting an
earlier algorithm of Har-Peled, Nayyeri, Salvatipour and Sidiropoulos in the
planar setting.
