5.21leetcode练习
两数之和
题目

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

整数反转
题目

思路及答案
反转就是将数的顺序倒过来,那么就可以通过“除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练习的更多相关文章
随机推荐
- Linux: Start and Enable firewall
enable firewall systemctl enable firewalld start firewall systemctl start firewalld check firewall s ...
- MongoDB:最简单的增删改查(Oops,可能太简单了)
热身运动: 1. 启动MongoDB shell => mongo.exe or ./mongo(先确保有一个mongod的实例): 2. 切换到一个用于练手的namespace => u ...
- Oops, 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine error
环境: Win7 64位 + VS2005 + Office2013 64位 现象:程序为一个Excel导入程序,导入时报「'Microsoft.ACE.OLEDB.12.0' provider is ...
- 【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来 ...
- 再次讨论javascript 中的this
原文: http://www.jb51.net/article/77519.htm 核心总结: 1.不论函数在哪里被调用,只要没有指定调用方,则this都指向window.指定了调用方,就指向调用方. ...
- LeetCode 824. Goat Latin (山羊拉丁文)
题目标签:String 首先把vowel letters 保存入 HashSet. 然后把S 拆分成 各个 word,遍历每一个 word: 当 word 第一个 字母不是 vowel 的时候,把第一 ...
- research plan
- How to: Specify the Web Server for Web Projects in Visual Studio
https://msdn.microsoft.com/en-us/library/ms178108(v=vs.120).aspx When you run a Web project in Visua ...
- qtree4
https://zybuluo.com/ysner/note/1236834 题面 给出一棵边带权的节点数量为\(n\)的树,初始树上所有节点都是白色.有两种操作: 改变节点\(x\)的颜色,即白变黑 ...
- Makefile 实际用例分析(一) ------- 比较通用的一种架构
这里不再说Makefile的基本知识,如果需要学习,那么请参考: 下载:makefile 中文手册 或者 点击打开链接 或者 跟我一起写Makefile( 陈皓 ) 这里说的是一般的实际的一个工程应该 ...