Leetcode1881. 插入后的最大值

Every day a leetcode

题目来源:1881. 插入后的最大值

解法:贪心

n有两种情况:

  1. n大于0时,把x插在第一个比x小的数之前
  2. n小于0时,把x插在第一个比x大的数之前

代码:

char * maxValue(char * n, int x){
    int len=strlen(n);
    char *ans;
    ans=(char*)malloc((len+2)*sizeof(char));
    int index=0;
    bool insert=false;

    if(n[0] == '-')
    {
        ans[index++]='-';
        for(int i=1;i<len;i++)
        {
            int cur=n[i]-'0';
            if(insert == false && cur>x)
            {
                ans[index++]=x+'0';
                insert=true;
            }
            ans[index++]=n[i];
        }
    }
    else
    {
        for(int i=0;i<len;i++)
        {
            int cur=n[i]-'0';
            if(insert == false && cur<x)
            {
                ans[index++]=x+'0';
                insert=true;
            }
            ans[index++]=n[i];
        }
    }
    if(insert == false) ans[index++]=x+'0';
    ans[index]='\0';

    return ans;
}

结果:
Leetcode1881. 插入后的最大值

上一篇:『TensorFlow』模型保存和载入方法汇总


下一篇:Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver.Physica