贪心算法—删数问题
来源:互联网 发布:社交软件排行 编辑:程序博客网 时间:2024/06/05 02:17
给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a 和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。
算法的原理应该是说从最高位开始,一次向低位搜索,一旦遇到前一位(高位)的数大于当前位,则删去前一位,直到删除k个数,如果到达末尾还没有删除k个,则说明现在这个数已经是从小到大排序了,则从最低位开始删除要求的位数。
#include <stdio.h>#include <string.h>int main(){ char a[20]; int k; printf("输入正整数:\n"); scanf("%s",a); printf("输入k值:\n"); scanf("%d",&k); int len = strlen(a); while(k--) { int i=0,j; while(i<len-1 && a[i]<=a[i+1]) { i++; } if(i==len-1)//表示字符串是递增的 { len--; while(k--) len--; break; } else { for(j=i;j<len-1;j++) a[j]=a[j+1]; len--; } } printf("最小值为:\n"); int l; for(l=0;l<len;l++) printf("%c",a[l]); printf("\n"); return 0;}
- 贪心算法——删数问题
- 贪心算法—删数问题
- 贪心算法 - 删数问题
- 贪心算法-删数问题
- 贪心算法---删数问题
- 贪心算法,删数问题
- 贪心算法 - 删数问题
- 算法:(贪心算法)--删数问题
- 问题 A: [贪心算法]删数问题
- 贪心算法之删数问题
- 【贪心算法初学】删数问题
- OJ3RD 1181 删数问题 - 贪心算法
- 贪心算法之删数问题
- 贪心算法例题:2072删数问题
- C++贪心算法之删数问题
- C++ 之 贪心算法 ( 删数问题 )
- SDUT 贪心算法 删数问题
- 删数问题(典型的贪心算法问题)
- 打开sqlserver2008的代理xp组件
- 用户控件
- ARM中的B指令和BL指令
- HTTP协议 (五) 代理
- 关于C语言 内存对齐的问题
- 贪心算法—删数问题
- Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图
- 把字符串转换成整数
- 关于对话框DoModal()函数调用失败的原因分析(Debug Assertion Failed)
- Mocha实践
- Python 代码调试技巧
- 变量 常量
- sqlserver2008导出数据库脚本
- ExecutorService,Executors 使用