![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
静听山水
Just do it
展开
-
时间复杂度和空间复杂度
循序渐进带你学习时间复杂度和空间复杂度。 - Rocky0429 - 博客园时间复杂度:我们的科学家前辈们发现当我们试图去用执行时间作为独立于具体程序或计算机的度量指标去描述一个算法的时候,确定这个算法所需要的步骤数目非常重要。如果我们把算法程序中的每一步看作是一个基本的计量单位,那么一个算法的执行时间就可以看作是解决一个问题所需要的总步骤数。但是由于算法的执行过程又各不相同,所以这个每一...转载 2020-04-12 15:12:32 · 111 阅读 · 0 评论 -
面试题46. 把数字翻译成字符串
链接:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/solution/dong-tai-gui-hua-dp-by-z1m/来源:力扣(LeetCode)给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 ...转载 2020-04-12 14:46:51 · 118 阅读 · 1 评论 -
Leetcode27:移除元素
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。最好的方法:直接用列表推导式,请参考博文:Python列表一次删除多个重复元素思考:这道题属于比较简单的类型,因为移除元素有比较多的方法:remove,del ,pop,其中但是做的过程中出现了题目所说的问题---超...原创 2020-03-10 09:48:16 · 119 阅读 · 0 评论 -
Leetcode17:电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].def letterCombinations(digits):# 注意边界条件 if not di...转载 2019-12-13 12:13:48 · 203 阅读 · 0 评论 -
Leetcode:17
# 输入:"23"# 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].def letterCombinations(digits): res=[] dic={2:["a","b","c"],3:["d","e","f"],4:["g","h","i"],5:["j","k","l"], ...原创 2019-12-12 22:31:16 · 156 阅读 · 0 评论 -
Leetcode16:最接近的三数之和
给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案例如,给定数组 nums = [-1,2,1,-4],和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).def threeSumClosest...原创 2019-12-12 21:32:48 · 94 阅读 · 0 评论 -
Leetcode15: 三数之和
给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]注意角标,如果溢...原创 2019-12-12 21:09:40 · 86 阅读 · 0 评论 -
Leetcode:14.最长公共前缀
def longestCommonPrefix(strs): result = "" for tmp in zip(*strs): print(tmp) # 对所有的相同位置的元素进行去重,如果长度是1则代表全是一样的 if len(set(tmp)) == 1: #用set很灵性 result += t...原创 2019-11-25 22:58:13 · 105 阅读 · 0 评论 -
Leetcode:12.整数转罗马数字
感觉自己不太会,有点麻烦,想着求余数啥的,最后还是无从下手,在看别人的解答中找了简单易懂的几种答案,所以说思想很重要!1.设置是从大到小,为了便于比较,同时把题目所说的6种情况考虑了进去。def intToRoman(num): d={1000:'M',900:'CM',500:'D',400:'CD',100:'C',90:'XC',50:'L',40:'XL',10:'X...原创 2019-11-25 21:30:38 · 93 阅读 · 0 评论 -
Leetcode:11.盛水最多的容器
要进行选两个数,把全部情况考虑进去(双层循环),为了不导致水溢出,所以要选择两者较小者def maxArea(list): max=0 for i in range(0,len(list)): for j in range(i+1,len(list)): area=min(list[i],list[j])*(j-i) ...原创 2019-11-25 20:16:51 · 84 阅读 · 0 评论 -
Leetcode:10.正则表达式匹配
>>> import re>>> s = '23432werwre2342werwrew'>>> p = r'(\d*)([a-zA-Z]*)'>>> m = re.match(p,s)>>> m.group()'23432werwre'>>> m.group(0)'23432...原创 2019-11-25 20:02:16 · 82 阅读 · 0 评论 -
Leetcode:9.判断回文数
字符串操作有许多地方和列表是相似的,比如切片,倒序输出等,一定要灵活运用。def isPalindrome(num): if num<0: print("%d is not a Palindrome"%num) else: y = str(num)[::-1] if y == str(num): p...原创 2019-11-25 19:18:10 · 132 阅读 · 0 评论 -
Leetcode:4.寻找两个有序数组的中位数
题目简单描述:nums1 = [1, 3] ,nums2 = [2] ,则中位数是 2.0,nums1 = [1, 2] ,nums2 = [3, 4] ,则中位数是 (2 + 3)/2 = 2.5def findMedianSortedArrays(nums1,nums2): num=nums1+nums2 num.sort() a=len(num)...原创 2019-11-17 22:51:05 · 79 阅读 · 0 评论 -
Leetcode:2.两数相加为某个定值,返回首次成立的下标
题目简单描述:给定 nums = [2, 7, 11, 15], target = 9,因为 nums[0] + nums[1] = 2 + 7 = 9,所以返回 [0, 1]有点类似于穷举法,从前往后。输出结果:0 1def twosum(nums,target): for i in range(0,len(nums)): for j in range(i+...原创 2019-11-17 22:44:02 · 165 阅读 · 0 评论 -
Leetcode:1.两数相加后倒序输出
题目简单描述:输入[2,4,3,],再输入[5,6,4],将两数相加243+564=807,结果输出为708思路:先获取相加后的结果,然后将所得数字倒序输出,注意:如果最后一位为0,则舍弃。list.pop()、flag的用法、list[::-1]、‘ ’.join(list)、def twoadd(list1,list2): a=0 b=0 for i ...原创 2019-11-17 22:37:00 · 223 阅读 · 0 评论 -
Leetcode:3.无重复字符的最长子串
题目简单描述:输入: "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: "pwwkew" 输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。思路:采用滑动窗口的方法,此方法具体可以在leetcode中查找本题他人的思路或者百度可以进行了解。https://leetcode-cn.com/p...原创 2019-11-16 10:18:36 · 155 阅读 · 0 评论 -
Leetcode:7.整数反转
整数反转:如果个位为0,则舍弃0再反转。map(函数名,参数):表示对参数进行函数处理def f(x): return x*xprint map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])# [1, 4, 9, 10, 25, 36, 49, 64, 81]from functools import reducedef reverse(x):...原创 2019-11-17 23:18:38 · 108 阅读 · 0 评论 -
Leetcode:6.Z字形变换
题目简单描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。import numpy as npdef convert(s,nu...原创 2019-11-17 23:08:53 · 127 阅读 · 0 评论 -
Leetcode:5.最长回文子串
题目简单描述:回文--正反读是一样的 ,输入: "babad" ,输出: "bab" ,另外"aba" 也是一个有效答案。 输入: "cbbd" ,输出: "bb"copy,reverse()import copydef longestPalindrome(str): import copy a=list(str) for j in range(0...原创 2019-11-17 22:58:15 · 76 阅读 · 0 评论