当前位置: 首页 > article >正文

蓝桥杯备考----》贪心之删数问题

这道题首先第一种想法就是每次删除最大的数,比如测试用例175438 删除前四个最大的数,就是13,我们再举个例子,如果是72809,我们删除两次,按我们这个贪心的思想,就变成720,实际上是可以变成209的,so我们这个贪心策略不对。。。。

那我们应该怎么贪心呢?

我们可以由特殊情况推一般情况,

我们先试试一个完全递增的数该怎么删,

如果我们从a1到an这个递增的序列里删除最后一个数和在任意位置删一个数两种情况的话,删除最后一个位置是结果变小的情况

如果是递减序列a1到an,删除第一个数和删除任意位置数相比较

.如图,如果是递增序列,删除最后一个数是最小的情况,如果是递减序列,删除第一个数是最小的情况,我们要找的就是山峰位置

删数的时候,我们还要考虑有前导0的情况,比如1001,删除1后就是001,我们要删去前导0

ok话不多说我们来实现一下代码

#include <iostream>
using namespace std;


int main()
{
	string s;cin >> s;
	int k;cin >> k;
	while(k--)
	{
		bool flag = false;
		for(int i = 0;i<s.size()-1;i++)
		{
			if(s[i]>s[i+1])
			{
				s.erase(i,1);
				flag = true;
				break;
			}
		}
		if(!flag) s.pop_back();	
	}
	while(s[0]=='0'&&s.size()>1)
	{
		s.erase(0,1);
	}
	cout << s << endl;
	
	
	
	
	return 0;
}


http://www.kler.cn/a/594147.html

相关文章:

  • 当了5年牛马,我开始划水了。。。
  • Spring MVC 参数校验-校验注解
  • 如何用AI轻松制作PPT,提升工作效率和演讲质量
  • Ruby on Rails 中的 Delegated Types(委托类型)
  • v-form标签里的:rules有什么作用。如何定义。
  • Linux应用:Linux的信号
  • 【AVRCP】蓝牙AVRCP协议中的L2CAP互操作性要求深度解析
  • 多模态文档处理新标杆:开源SmolDocling以256M参数精准识别文本、公式、图表
  • 【蓝桥杯速成】| 3.数据结构
  • 嵌入式硬件篇---龙芯PWM生成
  • C/S模型-TCP
  • dfs(二十四)47. 全排列 II
  • Rk3568驱动开发_设备树_9
  • Ubuntu 安装 gdb 错误解决方案
  • 由LAC自动建立L2TP实验
  • 图论——Prim算法
  • Vue 渲染 LaTeX 公式 Markdown 库
  • 【PyTorch基础】PyTorch还支持线性代数运算?PyTorch的内置线性代数运算示例
  • 网络安全威胁与防护措施(上)
  • kubernetes高级实战