Java实现-删除数字

2023-05-16

给出一个字符串 A, 表示一个 n 位正整数, 删除其中 k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。

找到删除 k 个数字之后的最小正整数。

N <= 240, k <= N

您在真实的面试中是否遇到过这个题? 
Yes
样例

给出一个字符串代表的正整数 A 和一个整数 k, 其中 A = 178542k = 4

返回一个字符串 "12"

public class Solution {
    /**
     *@param A: A positive integer which has N digits, A is a string.
     *@param k: Remove k digits.
     *@return: A string
     */
    public String DeleteDigits(String A, int k) {
        // write your code here
        if(k==0){
			int countZero=0;
			for(int i=0;i<A.length();i++){
				if(A.charAt(i)!='0')
					break;
				else{
					countZero++;
				}
			}
			return A.substring(countZero);
		}
		int []dp=countLow(A);
		int index=A.length()-1;
		for(int i=0;i<A.length()-1;i++){
			if(dp[i]>dp[i+1]){
				index=i;
				break;
			}
		}
		String front=A.substring(0, index);
		String tail=A.substring(index+1);
		return DeleteDigits(front+tail, k-1);

    }
    private static int[] countLow(String A){
		int []dp=new int[A.length()];
		int []standard=new int[10];
		for(int i=A.length()-1;i>=0;i--){
			 int temp=Integer.parseInt(A.charAt(i)+"");
			 standard[temp]++;
			 for(int j=0;j<temp;j++){
				 dp[i]+=standard[j];
			 }
		}
		return dp;
	}

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java实现-删除数字 的相关文章

随机推荐

  • OpenCV学习笔记二

    图像操作 获取像素值 xff1a 单通道 gray src span class token punctuation span at span class token operator lt span uchar span class to
  • OpenCV学习笔记三

    形态学操作应用 腐蚀 xff1a 跟卷积操作类似 xff0c 结构元素B在图像A上面移动 xff0c B定义其中心为锚点 xff0c 计算B覆盖下A的uida像素值用来替换锚点的像素 膨胀 xff1a 与膨胀过程类似 xff0c 不同的是以
  • OpenCV学习笔记四

    金字塔概念 xff1a 一个图像金字塔是一系列的图像组成 xff0c 最底下一张是图像尺寸最大 xff0c 最上方是图像尺寸最小 高斯金字塔 用来队图像进行降采样从底向上 xff0c 逐层采样得到 xff1b 降采样之后图像大小是原图像MN
  • Android修改SharePreference路径

    ContextImpl里面有一个字段mPreferencesDir xff0c 这个文件目录就是保存了SharePreference路径的 xff0c 只需要修改这个为我们自定义的路径就好了 xff0c 由于ContextImpl是一个隐藏
  • 安卓setContentView

    首先进入activity中找到setContentView方法 xff1a public void setContentView 64 LayoutRes int layoutResID getWindow setContentView l
  • 安卓9.0沉浸式状态栏

    首先我们来了解一下几个设置沉浸式状态栏的基础属性 xff1a 1 View SYSTEM UI FLAG LOW PROFILE xff1a 低调模式 会隐藏不重要的状态栏图标 xff1b 2 View SYSTEM UI FLAG HID
  • 安卓Service生命周期

    官方说明图 startService xff1a 开启一个Service且Service生命周期只与自身有关 xff0c 当调用stopService或者stopSelf时停止 如果多次调用startService xff0c 只有第一次会
  • 阿里2014年校园题目最后一题答案及证明

    该题目来自cdsn的一位网友 xff08 可见http blog csdn net thebestdavid article details 11975809 xff09 xff0c 具体内容如下 xff1a 在黑板上写下50个数字 xff
  • 编程——两种list的翻转方法

    对于题目相信大家都比较熟悉了 xff0c 下面就直接上代码了 xff0c 其中没有给出list的creat函数 xff0c 有兴趣的同学可以自己实现 1 模板node的定义 template lt class T gt class TNod
  • 数组旋转新方法

    题目 xff1a 对一个int数组进行左右任意长度的旋转 xff0c 如 xff1a 原始数组为 1 2 3 4 5 xff0c 左旋两位 xff08 可用 2表示 xff09 得 3 4 5 1 2 xff0c 右旋两位 xff08 可用
  • 常见Linux shell脚本中的“-e -d -f -eq -ne -gt -ge”操作符的含义

    常见shell脚本中的 e d f eq ne gt ge 操作符的含义 xff1a 文件表达式 e filename xff1a 如果filename存在 xff0c 则为真 d filename xff1a 如果filename为目录
  • 基于注解的spring源码解析之总体流程

    基于注解的spring源码解析1 总体流程 总体流程图 Demo代码 span class token keyword public span span class token keyword class span span class t
  • Android ViewBinding 替换 findViewById 的神器

    ViewBinding中文官网 ViewBinding 的出现就是为了替代 findViewById 的 以前我们写完布局后就要在代码中使用 findViewById 方法找到 xml 文件中对应的 view xff0c 这样耗时费力 xf
  • 套接字选项(SO_RCVBUF和SO_SNDBUF)

    有时候我们需要控制套接字的行为 如修改缓冲区的大小 这个时候我们就要学习套接字选项 int getsockopt int sockfd int level int optname void optval socklen t optlen i
  • 欢迎使用CSDN-markdown编辑器

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 xff0c 用它写博客 xff0c 将会带来全新的体验哦 xff1a Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传
  • 工作一年,辞职复习半年,考杭电计算机的经验分享

    工作一年 xff0c 辞职复习半年 xff0c 考杭电计算机的经验分享 如果 xff0c 毕业了工作顺利的人大概率是不会去考研的 xff0c 去考研的人 xff0c 大概率是想改变的 题记 2019 4 6 关于我 纠结的人生 为什么考研
  • ICPR-2018-OCR笔记

    2018年第24届国际模式识别大会International Conference on Pattern Recognition ICPR 在北京国家会议中心召开 xff0c 会议从8月20日到24日持续1周时间 有阿里的读光平台的介绍 x
  • centos7 firewalld导致docker网络异常

    centos7 自带防火墙是firewalld 在某下情况下可能导致docker 的某些网络问题 docker 有4种网络模式 xff1a 1 bridge模式 xff08 默认 xff09 xff1a 网桥模式 xff0c 通过虚拟网桥使
  • Linux(centOS)安装yum

    查看是否有安装yum rpm qa grep yum 红框内代表已安装的 xff0c 如果为空代表未安装yum 删除yum下的所有组件 rpm qa grep yum xargs rpm e nodeps 查看原有的yum配置 xff0c
  • Java实现-删除数字

    给出一个字符串 A 表示一个 n 位正整数 删除其中 k 位数字 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数 找到删除 k 个数字之后的最小正整数 N lt 61 240 k lt 61 N 您在真实的面试中是否遇到过这个题 x