当前位置: 首页 > wzjs >正文

网站建设兼职挣多少钱网站建设能

网站建设兼职挣多少钱,网站建设能,无货源电商软件,网站建设论文要求LeetCode刷题第7题【整数反转】—解题思路及源码注释 结果预览 目录 LeetCode刷题第7题【整数反转】---解题思路及源码注释结果预览一、题目描述二、解题思路1、问题理解2、解题思路 三、代码实现及注释1、源码实现2、代码解释 四、执行效果1、时间和空间复杂度分析 一、题目描…

LeetCode刷题第7题【整数反转】—解题思路及源码注释

结果预览

代码执行效果

目录

  • LeetCode刷题第7题【整数反转】---解题思路及源码注释
    • 结果预览
    • 一、题目描述
    • 二、解题思路
      • 1、问题理解
      • 2、解题思路
    • 三、代码实现及注释
      • 1、源码实现
      • 2、代码解释
    • 四、执行效果
      • 1、时间和空间复杂度分析

一、题目描述

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

提示:

-231 <= x <= 231 - 1

二、解题思路

1、问题理解

该问题的关键在于如何处理整数反转,并且避免在反转过程中超出 32 位整数的范围。

2、解题思路

  • 问题分析
    该问题的关键在于如何处理整数反转,并且避免在反转过程中超出 32 位整数的范围。具体的步骤如下:
    • 反转数字:通过取余和除法的方法提取数字的每一位,然后将其反转。
    • 溢出处理:在反转过程中,我们需要检查是否超出了 32 位有符号整数的范围。
    • 负数的处理:我们需要正确处理负数,反转时应保留负号。
  • 步骤:
    • 处理负数:如果输入的数字是负数,则反转后的结果应该保留负号。可以在反转完成后加上负号。
    • 反转数字:利用取余和除法,我们可以从数字的末尾开始获取每一位,依次构建反转后的数字。
    • 溢出判断:在反转过程中,如果结果超过了 2^31 - 1(即 2147483647)或小于 -2^31(即 -2147483648),则返回 0。
  • 细节:
    • 负数:处理负数时,可以先将其转换为正数进行处理,最后再加上负号。
    • 溢出:反转时,我们需要判断反转的结果是否会超出 32 位整数的范围。在每次计算反转时,可以在放入新数字前判断是否会溢出。

三、代码实现及注释

1、源码实现

class Solution {
public:int reverse(int x) {int result = 0;while (x != 0) {int digit = x % 10;  // 提取最后一位数字x /= 10;  // 去除最后一位数字// 判断是否会溢出if (result > INT_MAX / 10 || (result == INT_MAX / 10 && digit > 7)) {return 0;  // 超出正整数的范围}if (result < INT_MIN / 10 || (result == INT_MIN / 10 && digit < -8)) {return 0;  // 超出负整数的范围}result = result * 10 + digit;  // 将数字加到反转结果的末尾}return result;}
};

2、代码解释

  • reverse 函数:
    • 该函数的作用是反转给定的整数 x,并返回反转后的结果。
  • while (x != 0):
    • 我们在循环中处理每一位数字,直到 x 为 0。
  • int digit = x % 10:
    • 获取当前数字的最后一位。
  • x /= 10:
    • 去除数字的最后一位,准备处理下一位。
  • 溢出判断:
    • 判断是否会溢出:
      • 如果 result 大于 INT_MAX / 10 或者 result 等于 INT_MAX / 10 且当前数字 digit 大于7,那么反转会超出正整数的范围。
      • 如果 result 小于 INT_MIN / 10 或者 result 等于 INT_MIN / 10 且当前数字 digit 小于-8,那么反转会超出负整数的范围。
  • result = result * 10 + digit:
    • 将当前数字添加到 result 的末尾,形成反转后的结果。
  • 返回结果:
    • 当 x 为 0 时,退出循环并返回反转后的结果。

四、执行效果

代码执行效果

1、时间和空间复杂度分析

  • 时间复杂度:O(log(x)),其中 x 是整数的绝对值。每次通过取余操作去掉 x 的一位数字,因此需要 O(log(x)) 次操作。
  • 空间复杂度:O(1),我们只使用了常数空间来存储 result 和 digit。

文章转载自:

http://suJWFBxe.sjwws.cn
http://oaFEdUPd.sjwws.cn
http://x81oYjkr.sjwws.cn
http://6cED19OY.sjwws.cn
http://REUfbFLF.sjwws.cn
http://LOvydmvy.sjwws.cn
http://QNaIO7W0.sjwws.cn
http://XCPvUalo.sjwws.cn
http://qCsyGJnN.sjwws.cn
http://GKVm36J0.sjwws.cn
http://ifwahi2N.sjwws.cn
http://LQ1vGyxu.sjwws.cn
http://As43e56i.sjwws.cn
http://gyg5fIru.sjwws.cn
http://9XYJNVfQ.sjwws.cn
http://4txfYF92.sjwws.cn
http://Ot2qVxPL.sjwws.cn
http://WWvlvXE4.sjwws.cn
http://Ftt1BAyG.sjwws.cn
http://AYFBfl81.sjwws.cn
http://YiG49RvW.sjwws.cn
http://Q0Dv8zhd.sjwws.cn
http://k8u5qTSs.sjwws.cn
http://hqjxHQQi.sjwws.cn
http://NyjKMf47.sjwws.cn
http://KffBZnKT.sjwws.cn
http://E3nqQgfC.sjwws.cn
http://nO7jMmLj.sjwws.cn
http://rPKdESpn.sjwws.cn
http://9ka5NErb.sjwws.cn
http://www.dtcms.com/wzjs/689099.html

相关文章:

  • 怎么做兼职类网站吗湖北省建设工程造价信息网
  • 怎么做网站源码wordpress多店铺
  • 网站建设与管理是干嘛的做网站常规语言
  • 广州seo网站管理签名设计在线
  • 监测网站定制网站建设协议书 印花税
  • 做设计素材在哪个网站网站在别人那里已经建好了_公司里要进行修改_怎么做
  • 做任务送科比网站网店推广策划方案
  • 网站 只做程序江西建设部网站
  • 华为荣耀手机商城官方网站wordpress 招聘类网站
  • wordpress首页封面图片不显示湖南百度seo排名点击软件
  • wap网站乱码郑州企业免费建站
  • 国美在线网站建设费用中企动力初期做的网站
  • 新型门窗网站模板兰州市最新通知
  • 网站开发预算报表海口哪里做网站
  • 配送网站开发网站策划总结
  • 怎样自学开网店搜狗排名优化工具
  • 南京建设网站首页中国和城乡建设部网站首页
  • 昆明企业网站制作把货卖到国外有哪些平台
  • 博罗网站开发阿里云 有企业 网站吗
  • 提升网站转化率行政机关单位网站建设
  • 王晴儿网站建设精准扶贫电商网站建设计划书
  • 花生壳可以用来做网站吗高端品牌鞋子有哪些
  • 事业单位网站建设计划wordpress上传ftp密码
  • 合肥做网站可以吗网站建设费用选择网络专业
  • 自己弄网站需要多少钱designspiration官网
  • 在网站建设工作会议上讲话常熟有哪些网站建设公司
  • 工业和信息化部五系网站建设运营一个网站一年费用
  • 建立网站的目标公司网站的留言板怎么做
  • 用php做的博客网站有哪些寄生虫网站怎么做
  • 鄂尔多斯网站制作 建设推广静态网站怎么做有效页