leetcode刷题
007djx
这个作者很懒,什么都没留下…
展开
-
LeetCode-算法编程题1:两数之和
题目:实现两个整数相加,并返回元素位置。说明:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。编程环境:python3class Solution: def twoSum(self, nums, target): c=[] i=0 while i<...原创 2019-08-04 14:46:59 · 415 阅读 · 0 评论 -
LeetCode-算法编程2:整数反转
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。def reverse(x): if x>=0 : x=str(x) x=x[::-1] x=int(x) if 0<=x<2**31-1: return x else: re...原创 2019-08-04 14:54:04 · 199 阅读 · 0 评论 -
LeetCode-算法编程3:回文数
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。代码:class Solution: def isPalindrome(self, x: int) -> bool: if x<0: return False else: x=str(x) ...原创 2019-08-05 14:30:50 · 226 阅读 · 0 评论 -
算法编程4:有效的括号
1.题目:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合class Solution: def isValid(self, s): a={"()","[]","{}"} #包含括号的类型 b=...原创 2019-08-15 15:55:12 · 337 阅读 · 0 评论 -
算法编程5-删除排序数组中的重复项
1.题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。注:不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。2.程序class Solution: def removeDuplicates(self, nums: List[int]) -> int: i=0 ...原创 2019-08-15 16:52:04 · 290 阅读 · 0 评论 -
算法编程6—杨辉三角
1.题目描述: 给定一个非负整数numRows,生成杨辉三角的前numRows行2.题目分析: 此题属于动态规划问题,针对此问题,首先找准规律:除第一行,每行第一个元素和最后一个元素都为1。其余元素为左上方和右上方数之和。其次,找到特殊情况,第一行和第二行特殊,其余都遵守规律。3.python编程实现class Solution: ...原创 2019-08-23 22:47:22 · 759 阅读 · 0 评论 -
算法编程7——搜索二维矩阵II
题目:搜索二维矩阵II题目描述:搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。题目分析:题目中矩阵的特性一定要抓住,每行和每列都是递增的元素,如果采用暴力解法,逐个遍历也可以得到结果,但是时间复杂度O(nm),时间过长。矩阵四个角的元素很特殊,左上角元素是矩阵中的最小值,右下角是...原创 2019-08-27 10:33:30 · 272 阅读 · 0 评论 -
算法编程8——斐波那契数(509)
题目:斐波那契数题目描述:该数列由0和1开始,后面的每一项数字都是前面两项数字的和例如:0,1,1,2,3,5,8,。。。斐波那契数由f(N)表示,其中,f(0)=0,f(1)=1,f(2)=1......题目要求:给定N,计算f(N)class Solution: def fib(self, N: int) -> int: f=[0,1...原创 2019-08-27 18:50:10 · 244 阅读 · 0 评论 -
算法编程9:按奇偶排序数组(905)
题目描述:给定一个非负整数数组,将数组中的奇数放在偶数后面。此题有两种解法:法一:思路:将偶数放在一个数组,奇数放在一个数组,然后将两数组合并。python实现代码:def sortArrayByParity(A): j=0 #列表索引值,从0开始 a=[] #存放偶数的数组 b=[] #存放奇数的数组 while j<=le...原创 2019-08-31 21:10:43 · 231 阅读 · 0 评论 -
算法编程10:最小路径和(64)
题目描述:给定一个包含非负整数的mxn矩阵,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。要求:从左上角第一个数字开始,只能向下或向右。题目分析:题目要求找打最小路径和,需要解决N个小问题,然后这N个小问题的答案就是这个问题的答案。本问题属于动态规划。python代码如下:class Solution: def minPathSum(self, g...原创 2019-09-17 21:44:43 · 321 阅读 · 0 评论 -
算法编程11:用队列实现栈
题目描述:使用队列实现如下操作:push(x)-----元素x入栈pop()-----移除栈顶元素top()----获取栈顶元素empty() -- --返回栈是否为空题目分析:在python中,列表可以实现栈的功能,列表第一个元素是栈底元素,最后一个元素是栈顶元素。编程语言:python代码如下:class MyStack: def __init__(...原创 2019-09-21 21:14:07 · 201 阅读 · 0 评论 -
算法编程12:栈实现队列
题目描述:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。题目解析:在python中,利用列表可以实现上述功能python代码如下:class MyQueue: def __init__(self): """ Ini...原创 2019-09-21 21:20:02 · 295 阅读 · 0 评论 -
python算法编程——盛最多水的容器(11)
题目:解析:此题输入为数组,数组中数值表示高度,容器容纳水与桶的最小高度有关。为了找到容纳最多的水,利用双指针,我们两端开始,将最小值与宽度相乘作为最多水,较小值的那端向中间移动,并更新水的体积,直到两个指针相遇。python代码实现:def maxArea(self, height: List[int]) -> int: i=0#左指针 j...原创 2019-10-17 20:18:37 · 433 阅读 · 0 评论