C#算法之整数反转
题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0
代码模板
public class Solution { public int Reverse(int x) { } }
笔者方法 68ms左右
public class Solution { public int Reverse(int x) { int num = 0; while (x != 0) { int i = x % 10; x = x / 10; //C# int32 范围 [-2147483647~2147483647] if (num > int.MaxValue / 10 ) return 0; if (num < int.MinValue / 10) return 0; num = num * 10 + i; } return num; } }
到此这篇关于C#算法之整数反转的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python简单实现整数反转的画解算法
题目描述 给你一个 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 问题分析 首先我们想一下,怎么去反转一个整数? 用栈? 或者把整数变成字符串
-
python3整数反转的实现方法
给你一个 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 思路1:将其转为字符串进行翻转,并进行正负的判断.最后,题目要求如果反转后整数超过
-
C#算法之整数反转
题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0 代码模板 public class Solution { public int Reverse(int x) { } } 笔者方
-
python算法题 链表反转
链表的反转是一个很常见.很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表.实现链表反转有两种方式,一种是循环迭代,另外一种方式是递归. 第一种方式:循坏迭代 循坏迭代算法需要三个临时变量:pre.head.next,临界条件是链表为None或者链表就只有一个节点. # encoding: utf-8 class Node(object): def __init__(self): self.value = None self.next = None de
-
python算法题 链表反转详解
链表的反转是一个很常见.很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表.实现链表反转有两种方式,一种是循环迭代,另外一种方式是递归. 第一种方式:循坏迭代 循坏迭代算法需要三个临时变量:pre.head.next,临界条件是链表为None或者链表就只有一个节点. # encoding: utf-8 class Node(object): def __init__(self): self.value = None self.next = None de
-
Python3实现的回文数判断及罗马数字转整数算法示例
本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法.分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数. 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 .因此它不是一个回文数. 进阶:你
-
Java常用HASH算法总结【经典实例】
本文实例讲述了Java常用HASH算法.分享给大家供大家参考,具体如下: /** * Hash算法大全<br> * 推荐使用FNV1算法 * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */ public class HashAlgorithms { /**//** * 加法hash * @param key 字符串 * @param prime
-
Python数学建模学习模拟退火算法整数规划问题示例解析
目录 1.整数规划问题 2.模拟退火算法处理整数约束 3.数模案例 3.1 问题描述: 3.2 问题分析: 3.3 问题建模: 3.4 惩罚函数法求解约束优化问题: 4.模拟退火算法 Python 程序:求解整数规划问题 5.运行结果 参考文献: 1.整数规划问题 线性规划问题的最优解可能是分数或小数.但很多实际问题常常要求某些变量必须是整数解,例如:机器的台数.工作的人数或装货的车数.根据对决策变量的不同要求,整数规划又可以分为:纯整数规划.混合整数规划.0-1整数规划.混合0-1规划. 整数
-
PHP中创建和验证哈希的简单方法实探
PHP 5.5.0 带来了一份完整的全新特性与函数的列表.全新API之一就是Password Hashing API.它包含4个函数:password_get_info(), password_hash(), password_needs_rehash(),和password_verify().让我们分步来了解每个函数. 我们首先讨论password_hash()函数.这将用作创建一个新的密码的哈希值.它包含三个参数:密码.哈希算法.选项.前两项为必须的.你可以根据下面的例子来使用这个函数: $
-
使用Python求解最大公约数的实现方法
1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数.其计算原理依赖于下面的定理: 定理: gcd(a, b) = gcd(b, a mod b) 证明: a可以表示成a = kb + r, 则r = a mod b 假设d是a, b的一个公约数, 则有 d|a, d|b, 而r = a - kb, 因此d|r. 因此,d是(b, a mod b)的公约数. 加上d是(b,a mod b)的公约数,则d|b, d|r, 但是a = kb + r
随机推荐
- redhat7.1 安装mysql 5.7.10步骤详解(图文详解)
- jquery 插件实现瀑布流图片展示实例
- 利用vbscript的for命令实现定时关机
- IOS 网络请求中设置cookie
- js实现键盘自动打字效果
- "PageMethods未定义"或"对象不支持此属性或方法"解决方法分享
- 跟我学Laravel之路由
- Android开发中遇到端口号占用问题解决方法
- 用python记录运行pid,并在需要时kill掉它们的实例
- Bootstrap下拉菜单更改为悬停(hover)触发的方法
- js结合json实现ajax简单实例
- 深入探究JavaScript中for循环的效率问题及相关优化
- 采用软件负载均衡器实现web服务器集群(iis+nginx)
- Ubuntu下查看ssh服务是否安装或启动的方法
- JQuery筛选器全系列介绍
- Android App中自定义View视图的实例教程
- 简单介绍PHP的责任链编程模式
- 如何在android中使用html作布局文件
- 23种设计模式(3) java原型模式
- Python 3.8中实现functools.cached_property功能