转载:力扣:整数翻转(难点:整数溢出)
(力扣)LeetCode刷题之整数反转
![](https://pic4.zhimg.com/v2-484564a0faa7ead769f775371d9e190b_xs.jpg)
关注他
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
卧槽,又是简单题,简单个毛线啊,对于我这种菜鸡来说,真的好难呀!!!
我的思路一开始就是笨办法,把数字转换成字符串,然后判断是否是正数,负数,最后转换以后看是否在[-2^31,2^31-1]范围内,但是好像不行啊,用什么来接收转换后的数字呢?环境只允许存储32位的有符号数,不能使用long64位的来接收啊????
力扣(LeetCode)官方给出的解题方式如下:
![](https://pic3.zhimg.com/v2-e7627660a82497ecb78595ac5e08116a_b.jpg)
![](https://pic3.zhimg.com/80/v2-e7627660a82497ecb78595ac5e08116a_1440w.jpg)
我勒个去啊,这TM的就是一道数学题啊!!!
理下思路吧:
官方给出的思想是“弹出”和“推入”
首先是弹出:
/pop operation: //弹出
pop = x % 10; //取余运算,得到一个数字最后一位,得到数字符号和x的一致
x /= 10; //接上步得到最后一位数字,该数字不要最后一个数字了
例如:数字3456
pop = 3456 % 10= 6
x /=10 → x = 3456/10 = 345
推入:
//push operation://推入
temp = rev * 10 + pop; //rev一开始是0
rev = temp;
例如:接上面的
temp = 6
rev = 6
重复上面的“弹出”,“推入”操作,就可以完成数字的反转
但是,问题也来了,防止溢出,所以肯定得有个条件的嘛,2^31-1的值为:2147483647,将近21亿多,当作圆周率记一下吧,要是我有这么多钱就好了,-2^31的值为:-2147483648
如果:“弹出”和“推入”得到的rev的数值>int类型的最大值/10,就不可能成功了,肯定溢出,例如:rev = 214748365,他下一次“推入”的数字不管是多少肯定比2^31-1大,
或者rev的数值=int类型的最大值/10 ,那么“弹出”的数字>7,也不行
负数的同理
总结:学渣的我能理解也不容易吧,还好数学思维好,┭┮﹏┭┮,只能慢慢来了,其他的方法以后再补充吧,感觉做这种题好烧脑啊......
喜欢收藏
分享
http://www.taodudu.cc/news/show-620671.html
相关文章:
- 转载:vscode快捷键
- 转载:vscode gcc makefile git 配置入门
- 转载:cin总结附带string输入总结
- 转载:c+string类详解
- 转载:c输入空格字符串
- 转载://C++中getline()、gets()等函数的用法
- 转载学习笔记:c++atoi
- 转载:力扣字符串题atoi
- #笔记:pta题笔记:注意:double不能直接比较大小!!!///////计算2个复数的和、差、积、商。
- 原创:pta做题笔记:注意数组大小大一点!//准考证号,试机座位,考试座位查询
- 转载:概率与梳理统计||数学基础
- 转载:vs配置opencv教程
- 转载:opencv中imshow函数运行中断的解决办法
- 转载:【opencv入门教程之一】:配置
- 转载:【opencv入门教程之三】:组件结构
- 转载:【opencv入门教程之三】:图片的载入|显示|输出
- 转载:【OpenCV入门教程之四】 ROI区域图像叠加初级图像混合 全剖析
- 转载:opencv错误rect错误
- 转载:opencv:关于vs opencv每次都要配置的解决方案
- 转载:矩阵的掩膜操作实现图像对比度调整
- 转载:掩膜矩阵操作数学解释(权重表,锐化)
- 【OpenCV入门学习笔记1】:Mat对象的指针操作和掩膜操作
- 【OpenCV入门学习笔记2】:Mat对象
- 转载:【OpenCV入门教程之五】 分离颜色通道多通道图像混合
- 转载:【opencv入门教程之六】创建Trackbar图片对比度、亮度值调整
- #转载:十大排序方法,动图展示
- #转载:杨辉三角形实现过程详解-c语言基础
- 转载:socket通信基础
- 学习笔记:linuxsocket通信基础
- 学习笔记:二叉搜索树的验证
转载:力扣:整数翻转(难点:整数溢出)相关推荐
- 力扣13 罗马数字转整数逻辑详解
力扣 13 .罗马数字转整数逻辑详解 题目详情 逻辑分析 代码实现 题目详情 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...
- python整数反转_敲代码学Python:力扣简单算法之整数反转
学习重点:整数逆序算法 力扣(LeetCode)原题leetcode-cn.com ''' 功能:整数反转 来源:https://leetcode-cn.com/explore/featured/c ...
- 【力扣网练习题】整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出 ...
- 力扣--8字符串转换整数 (atoi)
题目 python 代码 此题的限制条件比较多 def myAtoi(s):s = s.lstrip() #去开头空格if len(s) < 1:return 0minusFlag = Fals ...
- 力扣网-罗马数字转整数
问题简介 这个问题其实与整数转化为罗马数字相当. 编程思路 转换函数写全一些(包括400.900.40.90等) Map<String, Integer> transfer = new ...
- 【力扣】NO.7.整数反转
解题思路 两点注意: 以123为例,要转换为321实际上是将其从右向左拆分 先获得3:123%10=3; 再获得2:(int)(123/10)%10=2 123每/10,result要*10; 这里的 ...
- 力扣 13.罗马数字转整数
文章目录 题目 AC代码 总结 题目 题目在这 这是一道简单等级的题目. AC代码 这是我的思路,就是按照题中给的意思,一行代码一行代码地撸出来的,显得很笨. class Solution {publ ...
- 力扣151. 翻转字符串里的单词
给你一个字符串 s ,逐个翻转字符串中的所有 单词 . 单词 是由非空格字符组成的字符串.s 中使用至少一个空格将字符串中的 单词 分隔开. 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串. ...
- 力扣226. 翻转二叉树(JavaScript)
方法一:递归 var invertTree = function(root) {let swap=function(left,right){let temp=leftleft=rightright=t ...
- 将矩阵转为一行_LeetCode 力扣官方题解 | 861. 翻转矩阵后的得分
点击上方蓝字设为星标 下面开始今天的学习- 力扣 861. 翻转矩阵后的得分(点击文末阅读原文查看题目)题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 .移动是指选择任一行或列,并转换该 ...
最新文章
- 9 张图带你深入理解 Docker 架构!
- c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
- 关于github failed to push some refs
- Gradle与project(三)
- 图灵机器人调用数据恢复_机器人也能撩妹?python程序员自制微信机器人,替他俘获女神芳心...
- 实现三元组表示的两个稀疏矩阵的加法_K-BERT | 基于知识图谱的语言表示模型
- 网上图书商城项目学习笔记-028编辑一级分类
- elementui如何在input 框中搜索_【挑战自学Python编程】第八天:while循环以及input()函数...
- Linux内核探索之路——关于方法
- Keil中C代码常见错误的解决
- LabVIEW:忽略自动错误处理
- mysql nfs存储_NFS存储服务及部署
- UML图学习之五 序列图(顺序图)和协作图
- Redis Expire 设置key过期时间
- 留下岁月的痕迹,不负自己所望
- java读取pdf签名_Java 获取PDF中的数字签名信息
- Kubernetes基础详解
- CAS:1347750-20-2,氨基PEG巯基,NH2-PEG-SH,Amine-PEG-Thiol
- 换手率短线炒股神器测评
- [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile
热门文章
- [codevs 1298] 凸包周长 [codevs 3201] 奶牛代理商 XI
- 珠心算测试(c++版)
- MATLAB实现实时录音,语音采集与读写用matlab实现录音以及语谱图的绘制.pdf
- 新时达二代操作器刷写数据线_布袋除尘器的脉冲振动特点及安装操作
- OC 知识:彻底理解 iOS 内存管理(MRC、ARC)
- openssl证书及配置
- SpringBoot入门教程(十)应用监控Actuator
- HTML5 Canvas
- 小程序之旅——第六站(模板首页)
- 【数据算法】Java实现二叉树存储以及遍历