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

平凉有做企业网站的吗杭州网站排名优化公司

平凉有做企业网站的吗,杭州网站排名优化公司,logo商标设计网站,响应式网站建设公司'题目描述 整数反转 给你一个 32 位的有符号整数 x #xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] #xff0c;就返回 0。 假设环境不允许存储 64 位整数#xff08;有符号或无符号#xff09;。 示…题目描述 整数反转 给你一个 32 位的有符号整数 x 返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] 就返回 0。 假设环境不允许存储 64 位整数有符号或无符号。 示例 1 输入x 123 输出321示例 2 输入x -123 输出-321示例 3 输入x 120 输出21示例 4 输入x 0 输出0提示 -2^31 x 2^31 - 1 解法 转字符串反转 转为字符串后从后往前遍历反转 java代码 public int revers(int x) {String s String.valueOf(x);// 如果第一个是-则删除标记有横杠boolean hasHyphen false;if (s.charAt(0) 45) {s s.substring(1);hasHyphen true;}StringBuilder resBuilder new StringBuilder();// 注意点1.末尾的0去掉中间的0保留2.如果会死负数把-去掉2.-2147483648超过了范围返回0// 最后一位是否是0如果是0把末尾的0都去掉遇到第一个非0后不再去掉0不是0则不需要去0boolean deleteZero s.charAt(s.length() - 1) 48;for (int i s.length() - 1; i -1; i--) {// 如果需要删除0并且遇到了非0则后面就不再去掉0if (deleteZero s.charAt(i) ! 48) {deleteZero false;}// 如果是0并且需要删除0则略过if (s.charAt(i) 48 deleteZero) {continue;}resBuilder.append(s.charAt(i));}String resString resBuilder.toString();// 判断是否超过范围负数的话不超过2147483648整数的话不超过2147483647if ((hasHyphen (resString.length() 10 || (resString.length() 10 resString.compareTo(2147483648) 0)))|| (!hasHyphen (resString.length() 10 || (resString.length() 10 resString.compareTo(2147483647) 0)))) {return 0;}int res .equals(resString) ? 0 : Integer.parseInt(resString);return hasHyphen ? -res: res; }官方解法数学方法 记rev为翻转后的数字为完成翻转我们可以重复「弹出」x 的末尾数字将其「推入」rev 的末尾直至 x 为 0。 要在没有辅助栈或数组的帮助下「弹出」和「推入」数字我们可以使用如下数学方法 // 弹出 x 的末尾数字 digit digit x % 10 x / 10// 将数字 digit 推入 rev 末尾 rev rev * 10 digit题目需要判断反转后的数字是否超过 323232 位有符号整数的范围 [ − 2 31 , 2 31 − 1 ] [-2^{31},2^{31}-1] [−231,231−1]。例如 x 2123456789 x2123456789 x2123456789反转后的 r e v 9876543212 2 31 − 1 2147483647 {rev}98765432122^{31}-12147483647 rev9876543212231−12147483647超过了 323232 位有符号整数的范围。 因此我们需要在「推入」数字之前判断是否满足 − 2 31 ≤ r e v ⋅ 10 d i g i t ≤ 2 31 − 1 -2^{31}≤rev⋅10digit≤2^{31}-1 −231≤rev⋅10digit≤231−1 若该不等式不成立则返回 0。 但是题目要求不允许使用 646464 位整数即运算过程中的数字必须在 323232 位有符号整数的范围内因此我们不能直接按照上述式子计算需要另寻他路。 考虑 x0的情况记 I N T _ M A X 2 31 − 1 2147483647 {INT\_MAX}2^{31}-12147483647 INT_MAX231−12147483647由于 则不等式 r e v ⋅ 10 d i g i t ≤ I N T M A X rev⋅10digit≤INT_MAX rev⋅10digit≤INTM​AX 等价于 移项得 讨论该不等式成立的条件 注意到当相等时若还能推入数字则说明 x 的位数与 INT_MAX的位数相同且要推入的数字 digit 为 x 的最高位。由于 x 不超过 INT_MAX因此 digit 不会超过 INT_MAX 的最高位即 digit≤2。所以实际上当 相等时不等式必定成立。 因此判定条件可简化为当且仅当小于等于时就成立。 x0 的情况类似。 综上所述判断不等式 − 2 31 ≤ r e v ⋅ 10 d i g i t ≤ 2 31 − 1 -2^{31}≤rev⋅10digit≤2^{31}-1 −231≤rev⋅10digit≤231−1 是否成立可改为判断不等式 I N T M I N / 10 r e v I N T M A X / 10 INT_MIN / 10 rev INT_MAX / 10 INTM​IN/10revINTM​AX/10 java代码 class Solution {public int reverse(int x) {int rev 0; // 结果数字while (x ! 0) {if (rev Integer.MIN_VALUE / 10 || rev Integer.MAX_VALUE / 10) {return 0;}// 取余数int digit x % 10;// 原数字除以10后得到的商为下一位数字x / 10;// 原来的rev*10等于向高位移动一位再加上余数就是新数字rev rev * 10 digit;}return rev;} }
http://www.yutouwan.com/news/203333/

相关文章:

  • 网站敏感关键词说说wordpress
  • 免费的舆情网站app企业网站的制作及维护
  • 做网站都有什么项目网络推广员是干嘛的
  • 网站推广营销服务wordpress虚拟物品
  • 江津区做网站做网站用dw的多吗
  • 厦门市房地产建设局网站电子商务网站建设与管理教材评价
  • 上海网站建设-新闻动态建站行业都扁平化设计
  • 临城企业做网站如何看到网站的建设时间
  • 济南网站开发培训网络营销是什么内容
  • 江西省建设厅网站官网wordpress页面模板
  • 比较好的微网站开发平台思茅区建设局网站
  • 站长之家关键词查询淄博网站制作定制
  • 400元网站建设建设厅网站的无法打印
  • 建站平台详细教程河北建设工程网站
  • 电子商务毕业设计 网站建设河南智能网站建设平台
  • 怎么样做网站注册量网站后台无法修改
  • 公司做网络推广哪个网站好怎样快速建设网站模板
  • 网站开发没有完成 需要赔偿多少七牛 wordpress 插件
  • 网站开发怎么人员组织南山网站建设哪家便宜
  • 珠海pc网站建设wordpress在线商城插件
  • 昆明网站制作的方法做网站注册营业执照
  • 餐饮美食网站建设需求分析在线学习
  • 国外服务器vps株洲seo网络优化招聘网
  • 济南中建设计院网站档案网站建设文献综述
  • 做网站为什么要做备案接入东阿聊城做网站的公司
  • 做销售怎么找优质资源网站网站备案组织机构代码
  • 深圳建设岗位证书报名网站做网站展示软件
  • 中国建设人才服务信息网站微信小程序与网站连接
  • 网站制作 培训wordpress的主题文件夹
  • 陕西省交通建设集团商界分公司网站成都网页设计与网站建设