We can imagine some clustering problem with $k$-centers. For $G = (V,E)$ with distance $d_{ij} \ge 0$ between each pair of vertices $i,j \in V$. We assume that $d_{ii} = 0, d_{ij} = d_{ji}, d_{ik} + d_{kj} \ge d_{ij}$ for each $i,j,k \in V$. Now, problem is find $S \subset V$ which $|S| = k$. Which makes $max(d(j,S))$ smallest. It’s like making clusters efficiently.
There is a $2$-approximation algorithm for this. Let’s define $d(i,S) = \min_{j \in S} d_{ij}$.
$S \leftarrow$ {$i$}
$\operatorname{while}$ $|S| < k$ $\operatorname{do}$
$S \leftarrow S \cup$ {$j$}
Its running time is clearly polynomial. Let $O = {e_1, e_2, \ldots, e_k}$ be an optimal solution, $S^O = {S_1, S_2, \ldots, S_k}$ be its clusters, and $r^{\star}$ its radius. By the triangle inequality, any two points within the same cluster $S_i$ are at most $2r^{\star}$ apart.
Now consider the solution produced by algorithm $A$. If $A \neq O$, at some step the algorithm must select two points from the same optimal cluster $S_i$. Since those two points are at most $2r^{\star}$ apart, the algorithm’s radius cannot exceed $2r^{\star}$.