• Leetcode 2259. 移除指定数字得到的最大结果(可以,一次过)


    在这里插入图片描述
    给你一个表示某个正整数的字符串 number 和一个字符 digit 。

    从 number 中 恰好 移除 一个 等于 digit 的字符后,找出并返回按 十进制 表示 最大 的结果字符串。生成的测试用例满足 digit 在 number 中出现至少一次。

    示例 1:

    输入:number = "123", digit = "3"
    输出:"12"
    解释:"123" 中只有一个 '3' ,在移除 '3' 之后,结果为 "12" 。
    

    示例 2:

    输入:number = "1231", digit = "1"
    输出:"231"
    解释:可以移除第一个 '1' 得到 "231" 或者移除第二个 '1' 得到 "123" 。
    由于 231 > 123 ,返回 "231" 。
    

    示例 3:

    输入:number = "551", digit = "5"
    输出:"51"
    解释:可以从 "551" 中移除第一个或者第二个 '5' 。
    两种方案的结果都是 "51" 。
     
    

    提示:

    • 2 <= number.length <= 100
    • number 由数字 '1' 到 '9' 组成
    • digit 是 '1' 到 '9' 中的一个数字
    • digit 在 number 中出现至少一次

    Code:

    class Solution {
    public:
        string removeDigit(string number, char digit) {
            string res="";
            
            
            for(int i=0;i<number.size();i++)
            {
                string temp=number;
                if(res.length()==0)
                {
                    int pos;
                    if((pos=number.find(digit,i))!=string::npos)
                        res=temp.erase(number.find(digit,i),1);
                }
                else
                {
                    int pos;
                    if((pos=number.find(digit,i))!=string::npos)
                    {
                        string str=temp.erase(pos,1);
                        if(str>res)
                            res=str;
                    }
                }
                
            }
            cout<<res<<endl;
            return res;
            
        }
    };
    
  • 相关阅读:
    spoj1812 Longest Common Substring II( 后缀自动机 )
    SPOJ8222 Substrings( 后缀自动机 + dp )
    BZOJ 2882: 工艺( 后缀自动机 )
    NOIP2015酱油记
    NOIP2015前
    BZOJ 1088: [SCOI2005]扫雷Mine( )
    BZOJ 1261: [SCOI2006]zh_tree( 区间dp )
    HDU4027 Can you answer these queries? 线段树
    ZOJ3261 Connections in Galaxy War 并查集
    POJ 1773 Parity game 带权并查集
  • 原文地址:https://www.cnblogs.com/xiaohai123/p/16386341.html
Copyright © 2020-2023  润新知