• LeetCode 7. Reverse Integer


    https://leetcode.com/problems/reverse-integer/

    这题比较麻烦的地方在对溢出的判断,一开始用了long long int来判断有没有溢出,不过太慢了。

    后来又改用计算最大int范围,然后除以当前数字,如果小于10则在下一步*=10操作后则会溢出。

    然而太慢了,直接和最大值/10的值进行比较,如果大于直接搞掉。不过有个坑,-2147483648的负数还是2147483648,特判了一下,感觉应该是有不用特判的算法。

    class Solution {
    public:
        int reverse(int x) {
            int num=0,f=0;
            int bit=2147483647;
            if(x<0)
            {
                x=-x,f=1;
                if(x==-x)
                    return 0;
            }
            while(x)
            {
                if(num>214748364)
                    return 0;
                num*=10;
                num+=x%10;
                x/=10;
            }
            if(f)
                num=-num;
            return num;
        }
    };
  • 相关阅读:
    dp uva1025
    dp uva10003
    dp最优矩阵相乘poj1651
    dp uva11584
    动态规划uva11400
    流形学习 (Manifold Learning)
    tf.nn.embedding_lookup
    word2vec
    word2vec 细节解析1
    collections-Counter
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/6132154.html
Copyright © 2020-2023  润新知