用Java解决贪心算法——删数问题
贪心算法——删数问题
【问题描述】
假设正整数n、s,s<n。设计算法对任一给定n位数,删除其中的s位后,使得剩下的位新数最小。
【输入形式】
ex:1 2 3 9 5;删掉一个数;
1:1 2 3 5
2:1 2 3
3:1 2
【个人思路】
从第一个数开始遍历,到寻找到单调递减的第一个数(即单调递增的最后一个数),则删除,若无单调递减子序列,则删掉最后一个非递减序列的数;每找到一个就又从头开始。即每做一次删数,就是一次贪心选择,删掉此数剩下的数为组成最小
【代码演示】
1 | import java.util.Scanner; |
- 标题: 用Java解决贪心算法——删数问题
- 作者: 小颜同学
- 创建于: 2022-09-03 18:09:15
- 更新于: 2024-02-07 14:23:20
- 链接: https://www.wy-studio.cn/2022/09/03/用Java解决贪心算法——删数问题/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论