Hostname: page-component-6766d58669-kn6lq Total loading time: 0 Render date: 2026-05-20T18:46:04.941Z Has data issue: false hasContentIssue false

A greedy algorithm for dropping digits

Published online by Cambridge University Press:  04 November 2021

RICHARD BIRD
Affiliation:
Department of Computer Science, University of Oxford, Oxford OX1 3QD, UK (e-mail: richard.bird@cs.ox.ac.uk)
SHIN-CHENG MU
Affiliation:
Institute of Information Science, Academia Sinica, Taipei, Taiwan (e-mail: scm@iis.sinica.edu.tw)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Consider the following puzzle: given a number, remove k digits such that the resulting number is as large as possible. Various techniques are employed to derive a linear-time solution to the puzzle: we justify the structure of a greedy algorithm by predicate logic, give a constructive proof of the greedy condition using a dependently typed proof assistant and calculate the greedy step as well as the final, linear-time optimisation by equational reasoning.

Information

Type
Functional Pearl
Copyright
© The Author(s), 2021. Published by Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.