leetcode每日刷题计划-简单篇day7

还没有背单词,头晕脑胀

Num 66 加一 Plus One

注意就是进位的时候最后一位,为了省两句代码,那几个语句顺序写反覆盖的乱七八糟

vector头部插入(a.begin(),被插入的数)

如果是(a.begin()+2,被插入的数字)

是指在序号为2的前面插入(有空试一下)

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int a[10000];
        int ans;
        memset(a,0,sizeof(a));
        int len=digits.capacity();
         a[len-1]=1;
        for(int i=len-1;i>0;i--)
        {
            ans=a[i]+digits[i];
            a[i-1]=ans/10;
            digits[i]=ans%10;
        }
        int cun=(a[0]+digits[0])%10;
        if((a[0]+digits[0])>=10)
        {
            digits.insert(digits.begin(),1);
            digits[1]=cun;
        }
         else  digits[0]=cun;
        return digits;
    }
};
View Code

Num 69 x的平方根 Sqrt(x)

用了极其蠢的枚举法,另外测试注意1,还有就是数据范围超过int不知道为啥给了个int。。。

class Solution {
public:
    int mySqrt(long x) {
        for(int i=0;i<=x;i++)
            if(x==(long)i*i)
                return i;
        else if((long)i*i>x)
            return i-1;
        return 0;
    }
};
View Code

猜你喜欢

转载自www.cnblogs.com/tingxilin/p/10720657.html