```ts
export function legGain(start: number, end: number): number {
  if (start > end) return -Math.abs(end - start);
  return Math.abs(end - start);
}

export function climbGain(heights: number[]): number {
  if (heights.length < 2) return 0;

  let totalGain = 0;
  for (let i = 1; i < heights.length; i++) {
    totalGain += legGain(heights[i - 1], heights[i]);
  }
  return totalGain;
}
```