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练习的更多相关文章
随机推荐
- Spring Tool Suite(STS)启动时出现错误:Java was started but returned exit code=13问题解决
Spring Tool Suite(STS)是开发Spring的套件,也就是一个Eclipse,在之上增加了对Spring框架的支持,使其能快速的开发Spring. 错误如下: 解决办法: 如果系统安 ...
- [Vue +TS] Use Two-Way Binding in Vue Using @Model Decorator with TypeScript
Vue models, v-model, allow us to use two-way data binding, which is useful in some cases such as for ...
- linux驱动之LED驱动_1
步骤: 1.框架 2.完好硬件的操作: a.看原理图.引脚 b.看2440手冊 c.写代码: IO口须要用ioremap映射 我的板子电路例如以下所看到的 1.配置GPBCON 寄存器,配置输出 ...
- mySql学习笔记:比sql server书写要简单
在学mySql.总的感觉,mySql与Sql Server差不多,语法都很象,但mySql也许是吸取了SQL SERVER的一些经验,SQL语句书写起来更加简单. 比如说,设置主键.索引,SQL SE ...
- 从基于 SQL 的 CURD 操作转移到基于语义 Web 的 CURD 操作
中文名称 CURD 含义 数据库技术中的缩写词 操作对象 一般的项目开发的各种参数 作用 用于处理数据的基本原子操作 它代表创建(Create).更新(Update).读取(Retrieve) ...
- bzoj 3312 No Change
题目大意: 到商场购物,他的钱包里有K个硬币 想按顺序买 N个物品,第i个物品需要花费c(i)块钱 在依次进行的购买N个物品的过程中,可以随时停下来付款,每次付款只用一个硬币 支付购买的内容是从上一次 ...
- 【HNOI 2003】 激光炸弹
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1218 [算法] 二维前缀和 [代码] #include<bits/stdc++ ...
- LuoguP3261 [JLOI2015]城池攻占
题目描述 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池.这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其中 fi &l ...
- 如何通过XInput技术针对游戏方向盘或者手柄编程
目前市面上的游戏外设,要么支持传统的DirectInput接口,要么支持最新的XInput技术.今天在这里聊一聊,如何通过XInput技术实现对这类游戏外设相关信息的捕获.关于DirectInput与 ...
- js的45个技巧
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...