编程系列之:删数

删数问题(贪心算法) 1.问题描述:问题描述:给定n位正整数a,去掉其中任意k<=n个数字后,剩下的数字按原次序排列组成一个新的正整数,对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。对于给定的正整数a,编程计算删去k个数字后得到的最小数。输入文件示例:1785434输出文件示例:132.相关算法:#include<stdio.h> #define M 6 int ... 阅读详情
 删数问题:键盘输入一个高精度正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。

贪心法:每次找递减序列,删掉序列的头数字。
代码:
/***
 * starstarstarpku@gmail.com
 * 20080402
 *
 * given 2 integers N and S, delete S numbers of N, in order that
 * the remain integer is the smallest.
 *
 * greedy strategy
 * 0) from beginning of N, find the decrease sequence Ds,
 * 1) if not found, delete the last number of N;
 * 2) otherwise, delete the first number of Ds;
 * 3) goto 0), until we have deleted S numbers;
 *
 * note that N is rather large, may be as long as 240.
 */
#include <iostream>
#include <string>
using namespace std;

#define LENGTH    256

void solve ()
{
    char p[LENGTH];
    int n, s;
    cin >>p >> s;
    n = strlen(p);

    int cnt=0;
    while (cnt < s) {
        int max=0;
        while (max < n && p[max] == 'x')
            max++;
        int i = max;
        while (i<n && (p[i] == 'x' || p[i]>=p[max])) {
            if (p[i] != 'x')
                max = i;
            i++;
        }
        cout << "delete " <<max<<" "<<p[max]-'0'<<endl;
        p[max]='x';
        cnt++;
        for (int j=0; j<n; j++)
            cout << p[j];
        cout << endl;
    }
    // output result number
    for (int j=0; j<n; j++) {
        if (p[j] != 'x')
            cout << p[j];
    }
    cout << endl;
}

int main (int argc, char **argv)
{
    solve ();
    return 0;
}
华为各系列数通网络产品介绍 华为各系列产品介绍Agile Controller-CampuseSightS系列交换机CE12800系列交换机WLANUSG系列防火墙AR系列路由器NE系列路由器 Agile Controller-Campus Agile Controller-Campus是华为推出的新一代园区与分支网络控制器,支持网络部署自动化,策略自动化,SD-WAN等创新方案,帮助企业降低OPEX运维成本,加速业务上云与数字化转型,让网络管理更便捷,让网络运维更智能。 关于Agile Controller-Campus的详细资料 阅读详情

相关推荐

贪心算法与单调栈实战:删数问题核心解析与代码实现

贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法思想,其核心在于通过局部最优解的累积来逼近全局最优解。在字符串或序列处理中,常需在满足特定约束下,对元素进行选择性删除或保留以达成极值目标,这便构成了经典的“选择性删除”问题模型。这类问题的技术价值在于能够高效解决序列优化任务,其典型应用场景包括数据压缩中的关键信息提取、金融报价的显示优化以及系统资源调度等。实现该模型的高效数据结构是单调栈,它能在O(n)时间复杂度内维护一个具有单调性的序列,从而快速定位并删除破坏目标单调性的“峰值”或“谷值”元素。

416

删数

华为机试题 删数

zero的博客 1323

删格化图层:编程实现和使用

删格化图层是一种在编程中常用的概念,用于描述图像或图形的分割和组合。本文将详细介绍删格化图层的含义、用途以及如何在编程中实现。

TechSavant的博客 265

删数问题(C语言实现)

1. 思路: 每一步总是选择一个使剩下的数最小的数字删除,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,这样删一位便形成了一个新的数字串。然后回到串首,按上述规则再删除下一个数字2. 代码: #include<stdio.h> #include<string.h> #define N 100int main() { char a[N],te

DLGDark的博客 6010

ThinkPad系列:编程的首选之一

无论是轻薄便携的X1 Carbon、强大可靠的T系列,还是适用于高性能计算的P系列,ThinkPad都提供了出色的性能和耐用性。以上代码示例只是冰山一角,您可以根据自己的编程需求,在这些笔记本电脑上开展更多的编程工作。这些笔记本电脑配备了强大的图形处理器和大容量的存储空间,可满足高性能计算的需求。ThinkPad T系列的机型包括T14、T15和T480等,它们都提供了强大的处理器和高分辨率的显示屏。它们以出色的性能、耐用的设计和优秀的键盘而闻名,成为了许多开发者的首选。

2301_79331421的博客 3039

【20230415】Ubuntu22.04双屏显示触屏设置,解决触摸点和响应位置不一致的问题

双屏显示时,如果存在一个触摸屏,有可能会出现触摸点和响应位置不一致的问题。我的显示器配置如下:一个34寸,3440*1440;一个22英寸触摸屏,1920*1080。

Creationyang的博客 3213

Windows编程系列——第一讲:预备知识

写在前面: &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;am

Neo_kh 1228

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

从零开始学编程系列汇总(从α到Ω)

从零开始学编程系列汇总(从α到Ω) https://github.com/justjavac/Programming-Alpha-To-Omega 「从零开始」系列 从零开始写个编译器吧系列 (知乎专栏) 从零开始写一个简单的操作系统 (伯乐在线) 从零开始写 JavaScript 框架 (图灵社区) 从零开始写 jQuery 框架 (蓝色理想 )

zdy0_2004的专栏 839

AnyLogic 建立谢林模型

AnyLogic 建立谢林模型说明创建一个新模型创建代理人群体和离散空间双击 people 前的图标,编辑 Person设置 Agent 的形状(Person)在模型中启用离散时间,实现代理行为点击 Person,进行编辑点击运行按钮效果图 说明 我们将把 Schelling 的模型实现为一个基于离散空间/离散时间的代理模型。空间代表一个城市,每个单元格代表一个房子。 agent 是人,是两种颜色:黄色和红色。 最初,人是随机分布在城市中的。人比房子少,所以总是有一个人可能会移动。 这个模型中的 agent

qq_45642410的博客 2577

FPGA实现PI控制

FPGA实现PI控制

m0_57319166的博客 3891

删数【DP】

SSLOJ 1344 删数Description--Input--Output--Sample Input--Sample Output--说明--代码-- Description– 有N个不同的正整数数x1, x2, … xN 排成一排,我们可以从左边或右边去掉连续的i个数(只能从两边删除数),1<=i<=n,剩下N-i个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。 每...

ヽ(o_ _)o 179

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南

本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。

f9g0h的博客 670

1344.删数

1344.删数 题目描述 有N个不同的正整数数x1, x2, … xN 排成一排,我们可以从左边或右边去掉连续的i个数(只能从两边删除数),1<=i<=n,剩下N-i个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。 每次操作都有一个操作价值,比如现在要删除从i位置到k位置上的所有的数。操作价值为|xi – xk|*(k-i+1),如果只去掉一个数,操作价值为这个数的值。 任...

ha 280

告别‘小目标’丢失!手把手复现DNANet红外检测网络(PyTorch版)

本文详细介绍了如何使用PyTorch从零实现DNANet红外小目标检测网络,重点解析了DNIM模块和CSAM注意力机制的设计与实现。通过实战教程,帮助开发者解决红外小目标检测中的特征提取和训练调参难题,适用于军事侦察、安防监控等场景。

weixin_28701593的博客 251

百万 Token 压力实测:1M Context 的真实能力边界在哪里?

本文揭示了长上下文模型的性能衰减规律:1M上下文存在"容量曲线"与"质量曲线"的分歧,512K是可靠拐点。通过MRCR测试发现,不同任务类型衰减差异显著——检索任务在512K后性能下降30.6%,而生成任务仅下降5%。研究提出三阶段补偿策略:三明治注入(首尾指令强化)、语义面包屑(位置标记)、引用检查(强制溯源),可将512K-1M区间的可用性提升20%。工程实践表明,中段区域(30-70%位置)是注意力薄弱区,需要特殊处理。最终建议:关键检索任务控制在512K内,关联推理任务可扩展至

liuzhupeng的专栏 337

贪心算法-“删数问题”算法满足贪心选择性质

贪心算法的核心思想是在每一步选择中都做出局部最优的选择,期望通过一系列局部最优选择达到全局最优解。这种思想简单直观,易于理解和实现。

ViangQM的博客 1175

LeRobot 入门教程(九)使用 Android、iOS 手机控制机械臂

本指南详细介绍了如何使用iOS/Android手机远程控制机器人。内容包括:1)安装依赖(pip install leroobot[phone]);2)平台支持说明(iOS需HEBI Mobile I/O应用/Android用WebXR);3)手机方向校准方法;4)控制模式设定(按钮/手势);5)示例脚本使用(遥操作/数据记录/回放/策略评估);6)关键参数配置(运动学/安全限制/夹爪控制);7)故障排查方法。支持ROS2集成,提供URDF文件处理、逆向运动学计算和实时可视化功能,适用于物理机器人和仿真环境

2506_90492529的博客 1656

信息奥赛一本通 1321 删数问题

本文提出两种算法来删除高精度正整数中的s个数字,使剩余数字组成最小数。两种方法都采用贪心策略:在数字序列末尾补0,当遇到降序时删除前一个数字。方式一通过循环控制删除次数,每次从头遍历寻找降序位置删除;方式二通过移动下标优化遍历过程,删除后根据位置调整下标。最后都需删除补的0并处理前导零。两种方法时间复杂度均为O(n^2),但方式二通过下标优化减少了不必要的遍历。样例输入"175438"删除4个数字后输出最小数"13"。

H2806924615的博客 152

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...

特殊的数你听过一些特殊的数码,如:独身数, 水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗×××数, 八仙数, 九九重阳数 ,十全十美数。说到这你是否和我当初一样好奇呢,这是什么数呢!总的概括就是他们每位数的n次方的和等于他们本身。具体几次方要看他们有几位数了。列如:独身数1到9,都是一位数那么他们每个数的1次方都等于他们本身,当然2位数的没有;水仙花数任意的3位数...

weixin_34150830的博客 4905

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【dp】删数

一个数列,从左边删掉一些或从右边删掉一些,每次操作有一个代价,求把数列删完后的总代价是多少

blog 166

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【DP】删数

题目描述 有N个不同的正整数数x1, x2, … xN 排成一排,我们可以从左边或右边去掉连续的i个数(只能从两边删除数),1<=i<=n,剩下N-i个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。 每次操作都有一个操作价值,比如现在要删除从i位置到k位置上的所有的数。操作价值为|xi – xk|*(k-i+1),如果只去掉一个数,操作价值为这个数的值。 任务 如何操作可以...

Maple的博客 302

三菱FX系列PLC编程手册:掌握PLC编程的不二选择

三菱FX系列PLC编程手册:掌握PLC编程的不二选择 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 三菱FX系列PLC编程手册,助力工程师高效编程与开发。 项目介绍 在现代工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)扮演着至关重要的角色。三菱FX系列PLC作为市场上广受欢迎的产品之一,其稳定性和强大的...

gitblog_06789的博客 1092

台达AS系列程序手册:您的PLC编程必备指南

台达AS系列程序手册:您的PLC编程必备指南 【下载地址】台达AS系列程序手册 台达AS系列程序手册是专为AS系列PLC编程设计的实用指南,旨在帮助用户快速掌握编程技巧并高效应用。手册详细介绍了AS系列PLC的基本概念、编程环境与工具、编程语言与指令,以及丰富的程序设计实例和常见问题解答。通过系统学习,用户能够深入理解P...

gitblog_06777的博客 963

硬件工程师电路设计能力体检:非理想建模与多物理场耦合

电路设计不仅是理想化公式推导,更是对器件非理想特性、PCB寄生参数、热-电-机械耦合及系统级故障树的综合建模能力。其核心原理在于将数据手册参数、制造公差、温度漂移与机械应力等真实扰动,量化嵌入电气行为预测中,从而支撑高鲁棒性、可量产的设计决策。这种能力直接决定电源稳定性、EMI合规性、高温可靠性与高速信号完整性等关键工程指标。在芯片原厂FAE支持、消费电子量产爬坡及工业控制环境适应等典型场景中,能否建立参数敏感度的肌肉记忆和证据链闭环思维,已成为2026年硬件岗位的核心筛选维度。本文以‘器件非理想建模’和‘

weixin_34246551的博客 236
上一篇: 数据结构之:treap 简介(二)
下一篇: 编程系列之:最长回文子串问题
unicode1985
博客等级 码龄22年 2粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值