当前位置: 首页 > 知识库问答 >
问题:

整数的倒数--相似的代码不同的输出

袁卓
2023-03-14

对于输入1534236469,我在反向和反向中得到两个不同的答案——反向1做了什么是错误的?

/***给定一个32位有符号整数,整数的倒数。**示例1:*输入:123输出:321示例2:*输入:-123输出:-321示例3:*输入:120输出:21注:假设我们处理的环境*只能存储32位有符号整数范围内的整数:[−231, 231 * − 1]. 对于这个问题,假设当反向整数溢出时,函数返回0**/

公共类反转器{

public static int reverse1(int x) {
    int multiplicationFactor = 1;

    if (x < 0) {
        multiplicationFactor = -1;
    }
    x = Math.abs(x);
    int reverse = 0;
    int remainder = 0;
    while (x > 0) {
        remainder = x % 10;
        x = x / 10;
        reverse = reverse * 10 + remainder;

    }

    if (reverse > Integer.MAX_VALUE || reverse < Integer.MIN_VALUE) {
        return 0;
    }

    return reverse * multiplicationFactor;

}

public static int reverse(int x) {
    long reverse = 0;
    boolean negative = x < 0;
    x = Math.abs(x);
    while (x > 0) {
        int y = x % 10;
        x = x / 10;
        reverse = reverse * 10;
        reverse = reverse + y;

    }
    if (negative) {
        reverse = -1 * reverse;
    }
    if (reverse > Integer.MAX_VALUE || reverse < Integer.MIN_VALUE) {
        return 0;
    }
    return (int) reverse;
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    reverse(1534236469);//output- 0
    reverse1(1534236469);//output- 1056389759
    // 2147483647

}

}

共有1个答案

梁丘俊材
2023-03-14

reverse1--使用int reverse--结果溢出--reverse2--使用Long reverse--结果没有溢出

 类似资料:
  • https://leetcode.com/problems/find-all-numbers-dispapered-in-an-array/discuss/93007/simple-java-in-place-sort-solution 你能查一下上面的链接吗? 我看不懂密码 然后,第一个只是简单地使用我们可以检查是不是值。 第二个, 它最终也是一样的东西,只是为了证明索引值=index+1。 但

  • 我需要从30fps的视频中提取帧两次:(I)720p png帧,(ii)270p tiff帧。 我分别使用以下命令来实现这一点: 然而,这导致第一命令输出35,776帧,第二命令输出35,812帧,尽管视频是相同的,并且所请求的framerate是30fps。 这是什么原因造成的?如何确保ffmpeg输出相同数量的(同步)帧?

  • 问题内容: 改写: 在我的项目中,我有图像。每个图像有5个标签,范围为[1,10]。我用Elasticsearch上传了这些标签: 我将这些文件加载​​到类型为“ img”的索引“ my_project”中的elasticsearch中: 我上传的其他示例文件: 在我的应用程序中,向量要长得多,但是具有固定数量的唯一元素。我喜欢这些文件中的20M。 现在,我想找到给定向量的相似文档。向量具有更多公

  • 我有一个名为products的代理,在这个代理中,我分配了一个名为sp的参数;在模拟中,我有一个相同的代理,不同的sp范围从1到5。我想在同一批中批量使用相同sp的代理,这取决于sp。所以如果我有200个代理,其中49个sp等于1,我想把它们分成4批,因为这个sp的批量是10个,剩下的9个代理等到下一个周期,而sp等于2,我有33个代理,批量是7个,我想把它们分成4批,剩下的5个代理等到下一个周期

  • 我试图将paralleStream与自定义的ForkJoin池一起使用,该任务执行网络调用。当我使用以下样式时 如果使用parallelStream,那么ForkJoinPool.Common是否以某种方式参与其中?下面是模拟上述两种样式的整个程序

  • 本文向大家介绍php计算数组相同值出现次数的代码(array_count_values),包括了php计算数组相同值出现次数的代码(array_count_values)的使用技巧和注意事项,需要的朋友参考一下 php计算数组相同值出现次数,可以使用php自带函数array_count_values : 说明 array array_count_values ( array $input )arr