首页 > 其他分享 >Study Plan For Algorithms - Part4

Study Plan For Algorithms - Part4

时间:2024-08-18 11:37:53浏览次数:8  
标签:return Study reversed 整数 sign num Algorithms Part4 31

1. 整数反转
题目链接:https://leetcode.cn/problems/reverse-integer/
给定一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。

class Solution:
    def reverse(self, x: int) -> int:
        sign = 1 if x >= 0 else -1
        x = abs(x)
        reversed_x = 0
        while x > 0:
            reversed_x = reversed_x * 10 + x % 10
            x //= 10
        reversed_x *= sign
        if reversed_x < -2**31 or reversed_x > 2**31 - 1:
            return 0
        return reversed_x

2. 字符串转换整数
题目链接:https://leetcode.cn/problems/string-to-integer-atoi/
请实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数。

函数 myAtoi(string s) 的算法如下:
空格:读入字符串并丢弃无用的前导空格(" ")
符号:检查下一个字符(假设还未到字符末尾)为 '-' 还是 '+'。如果两者都不存在,则假定结果为正。
转换:通过跳过前置零来读取该整数,直到遇到非数字字符或到达字符串的结尾。如果没有读取数字,则结果为0。
舍入:如果整数数超过 32 位有符号整数范围 [−2^31, 2^31 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −2^31 的整数应该被舍入为 −2^31 ,大于 2^31 − 1 的整数应该被舍入为 2^31 − 1 。

返回整数作为最终结果。

class Solution:
    def myAtoi(self, s: str) -> int:
        s = s.strip() 
        sign = 1  
        if s and (s[0] == '-' or s[0] == '+'): 
            if s[0] == '-':
                sign = -1
            s = s[1:]
        num = 0
        for c in s:
            if c.isdigit(): 
                num = num * 10 + int(c)
            else:
                break
        num *= sign

        if num < -2**31:
            return -2**31
        elif num > 2**31 - 1:
            return 2**31 - 1
        return num

标签:return,Study,reversed,整数,sign,num,Algorithms,Part4,31
From: https://www.cnblogs.com/stephenxiong001/p/18365422

相关文章

  • Study Plan For Algorithms - Part3
    1.最长回文子串题目链接:https://leetcode.cn/problems/longest-palindromic-substringm/给定一个字符串s,找到s中最长的回文子串classSolution:deflongestPalindrome(self,s:str)->str:defexpand_around_center(left,right):whileleft......
  • Study Plan For Algorithms - Part2
    1.无重复字符的最长子串题目链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/给定一个字符串s,请找出其中不含有重复字符的最长子串的长度。classSolution:deflengthOfLongestSubstring(self,s:str)->int:char_dic......
  • Day30 贪心算法part4
    目录任务452.用最少数量的箭引爆气球思路435.无重叠区间思路763.划分字母区间思路任务452.用最少数量的箭引爆气球有一些球形气球贴在一堵用XY平面表示的墙面上。墙面上的气球记录在整数数组points,其中points[i]=[xstart,xend]表示水平直径在xstart和xend之间的......
  • python系列&deep_study系列:一文讲清chatGPT的发展历程、能力来源和复现它的关键之处
    这里写目录标题一文讲清chatGPT的发展历程、能力来源和复现它的关键之处1.ChatGPT是什么2.ChatGPT以及GPT系列模型2.1GPT-1/2/32.2GPT-3.5(InstructGPT)3.复现chatGPT的难点3.1海量的数据3.2超大规模的模型架构3.3深度人员参与(SFT,FeedME,PPO)3.4长期技术积累3......
  • python系列&deep_study系列:TOCH_npu不适配报错packages/torchaudio/lib/libtorchaudio
    TOCH_npu不适配报错packages/torchaudio/lib/libtorchaudio.so:undefinedsymbol:_ZNK5torch8autograd4Node4nTOCH_npu不适配报错packages/torchaudio/lib/libtorchaudio.so:undefinedsymbol:_ZNK5torch8autograd4Node4n报错:背景:解决办法:TOCH_npu不......
  • 159.302 The 8-Puzzle: Search Algorithms
    159.302ArtificialIntelligenceAssignment#1The8-Puzzle:SearchAlgorithmsMaximumnumberofmemberspergroup:3studentsDeadlineforsubmission:9thofSeptemberInstructionsYourtaskistowriteaC++programthatwillsolvethe8-puzzleprob......
  • AI Python for Beginners-Andrew吴恩达-study notes(2)
    1Introduction    itisbelievedthatwiththehelpofAIchatbotwecanlearnpythonmoreeasilyanditwillbeamazingtoautomatetasksusingPython2 CompletingatasklistwithAI2.1List①listisasinglevariableoftype thatholdsm......
  • COMPSCI 753 Algorithms for Massive Data
    COMPSCI753AlgorithmsforMassiveDataAssignment1/Semester2,2024GraphMiningGeneralinstructionsanddataThisassignmentaimsatexploringthePageRankalgorithmonbigreal-worldnetworkdata.Byworkingonthisassignment,youwilllearn......
  • 在PhpStudy中安装joomla5.1
    joomla5.1对环境要求是PHP8.1以上;mysql8.0.13以上本地使用的phpstudy安装环境,phpstudyphp版本可以到8.2,但mysql版本只有8.0.12,刚好离要求的版本低一点,经过一番折腾终于安装成功,下面记录下安装过程中出现的问题。一、安装PHP8.21、如果PhpStudy没有安装PHP8.2,需要在控制......
  • ImportError:无法从“jwt.algorithms”导入名称“RSAAlgorithm”
    RSAAlgorithmPyJWT算法方法无法导入,但我确实安装了PyJWT错误:ImportError:cannotimportname'RSAAlgorithm'from'jwt.algorithms'我通过运行以下命令检查了该包是否可用:poetryshow|grep-ipyjwtpyjwt2.9.0J......