Leetcode算法练习-easy篇-Reverse Integer

LeetCode刷题总结-Easy篇(不间断更新中) 今天你刷了吗? 英文有句谚语叫做:“An apple a day, keeps doctor away!” 换在这里就是“A problem a day, makes coding away!” 1、Two Sum 给定一个整数列表和一个目标值,列表中两个数相加为目标值,返回这两个数的下标。 解法: 暴力求解,依次遍历即可。 “哈希表”,将列表元素看做是key,将列表的下标看做是ha... 阅读详情

Leetcode算法练习##

easy篇-Reverse Integer

最近正式入驻Leetcode,从今天开始会陆陆续续的整理在Leetcode 上的题目,用于笔记的整理与交流,而且除了自己的做法之外还会整理一些其他的好算法,并进行简单的分析与分享,考虑到算法的训练并不多,希望大家可以多多包涵。


题目要求:
Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.

题目不难,但我的做法比较扭曲。。。

int reverse(int x) {
    int _[1000] = {0};
    int i = 0,j =0, k =0;
    int count = x;
    int ret = 0,sum = 1;
    if(x > 0)
    {
        for(i = 1; count >= 10; i++)
        {
            _[i] =  count % 10;
            count = count / 10;
        }
        _[i] = count;
        for(k = 1; k <= i; k++)
        {
            for(j = 0; j < i - k; j++)
            {
                sum *= 10;
            }
            ret += sum * _[k];
			sum = 1;
        }
        goto End;
    }
    if(x < 0)
    {
        count = -count;
        for(i = 1; count >= 10; i++)
        {
            _[i] =  count % 10;
            count = count / 10;
        }
        _[i] = count;
        for(k = 1; k <= i; k++)
        {
            for(j = 0; j < i - k; j++)
            {
                sum *= 10;
            }
            ret += sum * _[k];
			sum = 1;
        }
		ret = -ret;
        goto End;
    }
End:
    return ret;
}

冗余代码过多,导致程序复杂很多,导致效率很低,而且还没有考虑到整型的溢出问题,当做反面教材吧。。。


正常解法:

int reverse(int x) {
        if (x == 2147483412 )
            return 2143847412;
        if (x == -2147483412)
            return -2143847412;
        if (x > 1463847412 || x < -1463847412)
            return 0;

        int m = x/10;
        int n = x%10;
        int res = 0;
        while (m != 0) {
            res = res * 10 + n;
            n = m%10;
            m = m/10;
        }
        res = res * 10 + n;
        return res;
}

首先感谢这位同学的代码了,果真不应该按照样例的输入进行考虑啊,正向除数,之后接着反向加过了就可以了。。。


同时我也找了一下C++的做法,目前优化的最好的应该就是下面这种了,

class Solution {
public:
    int reverse(int x) {
        long long res = 0;
        while(x) {
            res = res*10 + x%10;
            x /= 10;
        }
        return (res<INT_MIN || res>INT_MAX) ? 0 : res;
    }
};

而且本题在C++和C的性能提高不大,而且因为有高级语言的特性,在C++中的溢出检查相对容易。

从MCU到MPU:瑞萨RZN2L上手初体验,给Cortex-M工程师的Cortex-R52入门避坑指南 本文详细介绍了从MCU到MPU的过渡经验,特别是瑞萨RZN2L开发板的实战避坑指南。针对Cortex-M工程师转向Cortex-R52内核的挑战,文章深入解析了启动流程、内存管理、中断响应等九大本质差异,并提供了硬件设计陷阱和软件迁移的实用技巧,帮助开发者快速适应MPU开发环境。 阅读详情

相关推荐

第二章-Ethernet/IP基本概念

在I/O连接中,一旦连接建立,就不会有请求-响应数据,只会按照连接建立时指定的生产触发器所确定的时间间隔生产和消耗带有ConnectionID的数据。连接是通过连接管理器对象的Forward请求服务建立的,ForwardOpen请求包含所有连接参数,包括传输类、生产触发器、定时信息、电子密钥和连接ID。I/O适配器:I/O适配器从I/O扫描器接收隐式通信连接请求,然后以请求的速率生成I/O数据。I/O扫描器:启动与I/O适配器的隐式通信,需要处理连接的配置以及如何配置适配器。扫描器还支持启动显式报文。

_Nooice的博客 1233

leetcode7 整数反转

给你一个 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 解题思路:本题...

qq_41295976的博客 278

OpenMythos深度解析

本文深入解析了kyegomez/OpenMythos项目如何从第一性原理重建Claude Mythos的核心架构。该项目并非直接复制Claude,而是基于公开论文和实验结果推测其可能的设计理念,构建了包含多模态注意力、深度推理引擎、知识检索模块等六大核心组件的模块化架构。重点剖析了分组查询注意力(GQA)的实现细节,展示了KV头扩展等关键技术。该项目已成为大模型开源社区最受关注的研究之一,为理解Claude的架构思想提供了有价值的参考。

Crown_22的博客 518

Leetcode刷题之旅--7. 整数反转(反转有符号整数)

先来看下题目要求 开搞 一开始没考虑到溢出,解答错误。 考虑了溢出之后得到 public class Solution { public static void main(String[] args) { System.out.println(new Solution().reverse(-2147483412)); } public int reverse(int x) { int bits = 0; boolean flag =

weixin_45129136的博客 321

ZYNQ实战:PS端驱动DMA实现高效数据流转与验证

本文详细介绍了在ZYNQ平台上通过PS端驱动DMA实现高效数据流转的实战方法。从ZYNQ的PS与PL数据交互基础出发,深入解析DMA核心价值,包括硬件平台搭建、Vivado配置、PS端软件架构设计及性能优化技巧,帮助开发者提升数据传输效率与系统性能。

weixin_29192141的博客 436

CoppeliaSim+matlab+simulink七轴机械臂仿真

七轴机械臂vrep+matlab+simulink 仿真

a1233219的博客 3548

LeetCode练习-翻转数字(Reverse Integer)

Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123 Output: 321 Example 2:Input: -123 Output: -321 Example 3:Input: 120 Output: 21 Note:Assume we are dealing with an envi...

Mr_zhaoz的博客 591

解决RuntimeError: Couldn‘t load custom C++ ops. This can happen if your PyTorch

刚下好yolov8的代码,想测一下能否成果,果然没成功,报错如下简单来说就是torchvision和torch不匹配,就很离谱,我照着版本对应关系pip install的啊,怎么会不匹配建议先看看你的版本我是下图红框这个首先确定自己torch没问题,因为我的3090这个卡目前cuda版本是11.1,这个whl是早就下好的,一般1-2G,有问题重新下就麻烦了然后我pip install了很多次torchvision==0.11.3,都没啥用。想试着改改版本,结果要下其他的torch版本,就更不可能了。

DZY的博客 2247

LeetCode—7. 反转整数

这一题真的很简单啊,不知道为什么花了好久的时间,其实功能早就实现了,题目理解错了,他是说反转后的整数溢出,则返回 0 我错误理解为输入的数据错误本来溢出就要输出0,这根本做不到嘛,因为函数中接受数据的是int类型,999999999999int他能接受,但直接是溢出后的错误结果,通过int根本无法判断输入数据是否溢出。此间,学习到了:1.存储 32 位有符号整数,其数值范围是 [−2 31,  2...

terky 285

C++(Qt)软件调试---gdb调试入门用法(12)

学习GDB可以帮助程序员更好地调试程序,找到程序中的错误和问题,提高程序的质量和稳定性。 在开发大型软件时,程序中可能存在许多错误和问题,这些问题可能会导致程序崩溃或者出现不可预期的行为。 使用GDB可以帮助程序员更快地找到这些问题,并且提供一些调试工具来帮助程序员更好地理解程序的行为。

mahuifa的博客 5551

FM收音机调试-RDA5807M

收音机调试 IC型号:RDA5807M

mangofu的博客 6164

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

package com.gupao.jay.pattern.singleton; /** * @Author JAY * @Date 2019/6/2 9:50 * @Description 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 * * 示例 1: * * 输入: 123 * 输出: 321 * 示例 2: ...

weixin_30746117的博客 406

【全球人口数据集】全球人口密度数据集GPWv4

全球人口密度数据集GPWv4

WW、forever的博客 1003

leetcode java开发基础算法(Easy)

Easy 1.TwoSum(easy) /** * 利用map来存储数组中的值以及对应的index,时间复杂度为O(n),空间复杂度为O(n) * 再遍历一次map,如果map中包含有(target-key)的键,则返回这两个键的value,时间复杂度为O(n) * 总的时间复杂度为O(n),空间复杂度为O(n) * @param nums * @param target...

Bug_Solver1996的博客 440

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

leetcode_07_Reverse Integer (easy)

题目: Reverse Integer Total Accepted: 102355 Total Submissions: 436373 Difficulty: Easy Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 H...

dinghui1875的博客 149

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【LeetCode】 7. Reverse Integer 整数反转(Easy)(JAVA)

【LeetCode】 7. Reverse Integer 整数反转(Easy)(JAVA) 题目地址: https://leetcode.com/problems/reverse-integer/ 题目描述: Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 32...

qq_16927853的博客 184

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LeetCode-Easy-007-Reverse-integer

描述 Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing wi...

你好,开发者 685

[Leetcode 7, Easy] Reverse integer

Leetcode, easy

算法的实践 629

[LeetCode] 007. Reverse Integer (Easy) (C++/Java/Python)

[LeetCode] 007. Reverse Integer (Easy) (C++/Java/Python)

水果君の日常 3667

[LeetCode-Easy][Python] 007-Reverse Integer

题目来源 https://leetcode.com/problems/reverse-integer/description/ Descirption:Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input...

a242647980的博客 145

7. Reverse Integer [easy] (Python)

题目链接https://leetcode.com/problems/reverse-integer/题目原文 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 题目翻译反转整数中的数字。 例子1:给定x=123,返回321;例子2:给定x=-123,

Coder_Orz的博客 1万+

[LeetCode] Reverse Integer

Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Assume we are dealing with...

dongyu1703的博客 317

【LeetCode easy专题】LeetCode7 Reverse Integer

       本篇是【leetcode easy】专题的第二篇,题目要求是将一个int类型的有符号数,进行逆序输出(输出也是int类型)。        可能忽略的地方有以下两点: 当输入的整数是负数或者是末尾有0的话,若采用将整数先转化为string类型,在进行输出的话,还需要单独处理负号和0的问题。 输入的int类型是32bit的,其范围为[−2^31,  2^31 − 1],其逆序...

mzqolive的博客 213

leetcode第七题(easy)——Reverse Integer

题目描述如下: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 我为这道题尝试了3种解法,一开始的解法运行时间为499ms,觉得太慢了,于是在网上参考了别人的思路,的确是快了一些,但是后来觉得在刷题的时候没这必要,运行出来就行了。三种解法的思路

zenggouzai 534

Reverse Integer - Leetcode 算法详解

7. Reverse Integer - LeetCode (easy)Java详解

qq_16257817的博客 446

LeetCode - Easy - 7. Reverse Integer

Topic Math Description https://leetcode.com/problems/reverse-integer/ Given a 32-bit signed integer, reverse digits of an integer. Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−2³

KISS 246
下一篇: Leetcode算法练习-easy篇-Roman to Integer
晴川QZ
博客等级 码龄10年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值