两数之和

题目

新手司机上路,光荣翻车,没想出来。借了别人的答案,自行领会

答案

整数反转

题目

思路及答案

反转就是将数的顺序倒过来,那么就可以通过“除10取余”的方式,将末尾数一个个提出来,放到输出的字符串中,再将字符串转成整型返回结果。注意点如下:

  • 考虑正负数:正数可直接按思路操作,负数就需要先用绝对值按正数方式算,最后将运行结果取反数
  • 32位:需要考虑反转后的数字在范围[-2**32,2**32-1]内
class Solution:
def reverse(self, x: int) -> int:
x_str = str(x) # 将整型的x转变成字符
output = '' # 先定义返回结果为空字符串 # 判断正负
if x_str[0] == '-':
x = abs(x) # 将负数取绝对值
for count in range(len(x_str)-1):
output += str(x % 10) # 用“+”做字符串拼接
x //= 10 # 将数取整后循环
output = -int(output) # 结果转变回负数
else:
for count in range(len(x_str)):
output += str(x % 10)
x //= 10 # 判断反转后的结果是否在[-2**32,2**32-1]内
if -(2**31) <= int(output) <= (2**31-1):
return(int(output))
else:
return(0)

总结:代码中有重复代码,还有很大的精简空间

回文数

题目

思路及答案

回文数的特点:

第一位(下标0)与最后一位(下标-1)相等,两下标相加为-1

第二位(下标1)与倒数第二位(下标-2)相等,两下标相加为-1

........

所以回文数两相等的下标之和相加为-1

class Solution:
def isPalindrome(self, x: int) -> bool:
'''将整数转化成字符串来解决的方式'''
x_str = str(x)
for index in range(len(x_str)//2):
if x_str[index] != x_str[-1-index]:
return(False)
else:
return(True)

总结:进阶中要求不用字符串,这里用了字符串,还有待改进

希望每天进步一点点

5.21leetcode练习的更多相关文章

随机推荐

  1. GNS3 使用SecureCRT

    "D:\SecureCRT\SecureCRT.EXE" /SCRIPT D:\SecureCRT\DyRouter.vbs /ARG %d /T /TELNET %h %p st ...

  2. [JavaEE] Create API documents with Swagger

    We mainly need to modify our Model and REST endpoint code to enable swagger Document. model/Book.jav ...

  3. Unity3D 怎样在安卓手机上播放视频

    曾经仅仅会在电脑上通过Unity3D播放视频,研究了下发现通过Unity3D在手机上播放视频也很easy.现介绍例如以下. void OnGUI()     {         if (GUI.But ...

  4. C#邮件发送(含附件)

    class SendEmail { static void Main(string[] args) { string from = "发件人@yingu.com"; string ...

  5. Magento 模块开发之DispatchEvent

    在这一章节中.我们来了解 Magento 中的事件分发机制 Mage::dispatchEvent() 在创建自己的模块时, Event 事件的分发将会变成十分实用且有效 以个人的经验. 事件的分发使 ...

  6. 不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转)

    不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转) 提出问题 ExtAspNet开源以来,一直坚持开源免费的原则,但是其GPL v2的 ...

  7. 启动Tomcat任何程序都报错

    启动Tomcat出现: Cannot publish to the server because it is missing its runtime environment. 可能是servers中不 ...

  8. [python基础] celery beat/task/flower解析

    一.Celery 介绍 Celery 是一个强大的分布式任务队列,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务( async task )和定时任务( ...

  9. bzoj4753

    bzoj4753 树形dp+01分数规划 这是一个典型的树形背包+01分数规划.看见分数形式最大就应该想到01分数规划. 于是套用分数规划,每次用树形背包检验. 首先这是一棵树,不是一个森林,所以我们 ...

  10. SQL service 自动解决依赖包 验证

    依赖关系解决 ============================================================================================= ...