算法 删数问题
来源:互联网 发布:mysql服务安装失败 编辑:程序博客网 时间:2024/05/16 00:53
题目
给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数。
对于给定的n和k,设计一个算法,找出剩下数字组成的新数最少的删数方案。
输入示例:178543 4
输出:13
分析
贪心算法。按照高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,然后回到串首,再重复删除.
#include <iostream.h>#include <algorithm>using namespace std;int main(){ char a[100]; int n=4,i,j; printf("输入数字:\n"); scanf("%s",a); printf("输入要删除的位数:\n"); scanf("%d",&n); if(n==strlen(a)){ //如果删除的位数=输入的数字位数,则为0 printf("0"); return 0; } while(n>0) {//直到要删除的位数为0 i=0; //每次开始将i初始化为0,表示重新开始检测下降点 while(i<strlen(a) && a[i]<a[i+1]) //在位数范围内,到了递减区间,就跳出循环 i++; for(j=i;j<strlen(a);j++) //后面往前挤一位,实现删除i位。 a[j]=a[j+1]; n--; } printf("%s",a); return 0;}
0 0
- 算法 删数问题
- 贪心算法 - 删数问题
- 贪心算法-删数问题
- 贪心算法---删数问题
- 贪心算法,删数问题
- 贪心算法 - 删数问题
- 算法:(贪心算法)--删数问题
- 问题 A: [贪心算法]删数问题
- 贪心算法之删数问题
- 贪心算法—删数问题
- 【贪心算法初学】删数问题
- OJ3RD 1181 删数问题 - 贪心算法
- 贪心算法之删数问题
- 贪心算法例题:2072删数问题
- C++贪心算法之删数问题
- C++ 之 贪心算法 ( 删数问题 )
- 贪心算法——删数问题
- SDUT 贪心算法 删数问题
- 8.2 定义一个简单的泛型类
- 剑指offer——面试题22:栈的压入和弹出序列
- 8.3 泛型方法
- 0009算法笔记——【动态规划】动态规划与斐波那契数列问题,最短路径问题
- gets函数和fgets函数
- 算法 删数问题
- finally关键字
- MySQL 数据备份与还原
- wex5失败笔记(1)data组件加载数据失败原因
- 全选反选案例
- wordpress插件装太多?检测哪些插件占资源最多
- [LeetCode]Word Ladder
- 新
- 多线程程序与fork()分析