leetcode python刷题题库_Python学习之LeetCode刷题之路——简单题【1、7、9】

1、两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

代码

class Solution:

def twoSum(self, nums: List[int], target: int) -> List[int]:

dic = {}

for index,num in enumerate(nums):

sub = target - num

if sub in dic:

return [dic[sub],index]

else:

dic[num] = index

知识点

1、enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>>seq = ['one', 'two', 'three']

>>> for i, element in enumerate(seq):

... print i, element

...

0 one

1 two

2 three

7、整数反转

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

示例 1:

输入: 123

输出: 321

示例 2:

输入: -123

输出: -321

示例 3:

输入: 120

输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

代码:

class Solution:

def reverse(self, x: int) -> int:

"""

ret:返回旧的翻转值

temp:保存临时中间值

"""

:

return x

str_x = str(x)

x = ''

] == '-':

x += '-'

x += str_x[-::-].lstrip(').rstrip("-")

x = int(x)

**

return x

知识点总结:

1、list[::n]

第一个冒号表示起始处理位置,第二个冒号表示终止处理位置,不包括该位置,n表示步长,每隔几个取一次。

如果n为负号,表示从后向前处理,a = list[::-1],表示逆置

2、strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

注意:这些函数都只会删除头和尾的字符,中间的不会删除。

9、回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121

输出: true

示例 2:

输入: -121

输出: false

解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10

输出: false

解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:

你能不将整数转为字符串来解决这个问题吗?

代码

class Solution:

def isPalindrome(self, x: int) -> bool:

if ((x < 0) | ((x % 10 == 0) & (x != 0))):

return False

elif (x < 10):

return True

else:

x_reversed = int(0)

while(x > x_reversed):

x_reversed = x_reversed * 10 + x % 10

x //= 10

return (x == x_reversed) or (x == x_reversed // 10)

python学习笔记(mysqldb下载安装及简单操作)

python支持对mysql的操作 已经安装配置成功python.mysql 之后根据各自电脑配置选择对应系统的MySQL-python 文件是EXE格式.打开下一步即可 下载地址博主分享下: htt ...

python学习(6)选择排序算法简单代码

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录.基于此思想的算法主要有简单选择排序.树型选择排序和堆排序.[1] 简单选择排序的基 ...

LeetCode Binary Tree Paths(简单题)

题意: 给出一个二叉树,输出根到所有叶子节点的路径. 思路: 直接DFS一次,只需要判断是否到达了叶子,是就收集答案. /** * Definition for a binary tree node. ...

LeetCode Bulls and Cows (简单题)

题意: 给出两个数字,输出(1)有多少位是相同的(2)有多少位不在正确的位置上. 思路: 扫一遍,统计相同的,并且将两串中不同的数的出现次数分别统计起来,取小者之和就是第2个答案了. class So ...

python 学习源码练习(2)——简单文件读取

#文件创建 #!/usr/bin/python3 'makeTextFile.py--create text file' import os ls = os.linesep #get filename ...

【插头dp】CDOJ1690 这是一道比CCCC简单题难的简单题

最裸的插头dp,可参见大白书. #include #include using namespace std; #define MOD 1000 ...

LeetCode刷题 --杂篇 --数组,链表,栈,队列

武汉加油,中国加油.希望疫情早日结束. 由于疫情,二狗寒假在家不能到处乱逛,索性就在家里系统的刷一下算法的内容,一段时间下来倒也有些小小的收获.只是一来家中的小破笔记本写起博客来实在不是很顺手,二来家 ...

LeetCode 刷题指南(1):为什么要刷题

虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会.现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 ...

LeetCode刷题专栏第一篇--思维导图&;时间安排

昨天是元宵节,过完元宵节相当于这个年正式过完了.不知道大家有没有投入继续投入紧张的学习工作中.年前我想开一个Leetcode刷题专栏,于是发了一个投票想了解大家的需求征集意见.投票于2019年2月1日 ...

随机推荐

利用线上数据验证系统 Gor

Web 应用性能和压力测试工具 Gor - 运维生存时间 http://hao.jobbole.com/gorhttp/ 要使用线上引流到测试环境的作用,需要做到以下几点: 1.新搭建一套测试环境,连 ...

email

#region 邮件帮助类 //+-------------------------------------------------------------------+ //+ FileName: ...

mysql中You can&#39;t specify target table for update in FROM clause错误

原SQL delete from DEP_SYSTEM_PORTLET_SETTINGS where ID in ( select ID from DEP_SYSTEM_PORTLET_SETTING ...

字符串p型编码

总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个完全由数字字符('0','1','2',-,'9')构成的字符串str,请写出str的p型编码串.例如:字符串12234411 ...

PowerShell中的输出

1 输出重定向 >  或者>> 2 输出控制 out-* -paging#分页输出 get-process | out-host -paging more指令用于屏显 get-pro ...

java基础-静态,非静态(构造)代码块,类加载

static block and non-static block(constructor block) [toc] 想来想去,先来一题比较好 public class Foo { public st ...

apigateway-kong(一)简介及部署

时隔三年,本人重出江湖,哈哈哈 浏览之前写的博客,有些深度还不是太够.篇幅太短,并且很多专题没有坚持写下去,部分技(dai)术(ma)没有从业务中抽离出来,本人感觉好遗憾--为此,痛下决心,重拾博客, ...

[No0000151]菜鸟理解.NET Framework中的CLI,CLS,CTS,CLR,FCL,BCL

最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基础..NET Framework不是凭空出来的,实际上API,COM+,和一些相关驱动依然是它的基石..NET Framewor ...

php 加密 解密 密码传输

php 加密 解密 密码传输

Maven让资源文件处理插件能够解析资源文件中的Maven属性

${project.basedir}/src/main/resour ...

你可能感兴趣的:(leetcode,python刷题题库)