刷题的时候看到这一题,不用四则运算符号就很自然的想到用位的操作,p存储进位,sum存储相加结果,但运行出现失败:
您的代码已保存
运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
case通过率为0.00%
后来百度了一下找到了原因:int是一个固定位数,long理论上可以存储无限大数的数据类型,为了避免大到溢出,python会把int转化为long。解决方案:https://stackoverflow.com/questions/7201207/python-bitshift-32-bit-constraint
代码可以改为: