第1关:删除数字问题
任务描述
本关任务:掌握贪心算法的算法思想,并能利用贪心算法的算法思想解决删除数字问题。
给定n个纯数字组成的数字串,删除其中k(k<n)个数字后,剩下的数字按原来的秩序组成一个新的正整数,确定删除方案,使得剩下的数字组成的新的正整数最大。
相关知识
为了完成本关任务,你需要掌握:1.贪心算法的基本概念,2.贪心算法的基本思路步骤,3.删除数字问题求解思路。
贪心算法的基本概念
贪心算法又称之为贪婪算法,指的是在求解问题时,总是选择当前最好结果的方案,而不从整体考虑最优解法。贪心算法的两个基本要素分别是贪心选择和最优子结构。
贪心选择:求解问题的整体最优解可以通过一系列的局部最优的选择来实现,即贪心选择。
最优子结构:一个问题的最优解包含其子问题的最优解,称此问题具备最优子结构性质。
贪心算法的基本概念如下:
贪心算法是一种着眼局部的简单而适应范围有限的优化策略。
贪心算法在求解最优化问题时,从初始阶段开始,每一个阶段总是做一个使局部最优的贪心选择,不断把将问题转化为规模更小的子问题。也就是说贪心算法并不从整体最优考虑,每一阶段所做出的选择只是着眼于局部最优的选择。这样处理,对有些问题来说也能得到最优解