1 PPlemon1997

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 18w+

解题思路-leetcode第五十八题:最后一个单词的长度

解题思路-leetcode第五十八题:最后一个单词的长度题目描述:给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5解题思路:本题采用split函数切分字符串并转成列表,然后从列表最后一个元素开始,找到第一个不为空的元素,并返回该元素长度。首先进

2020-07-31 22:41:46

解题思路-leetcode第五十七题:插入区间

解题思路-leetcode第五十七题:插入区间题目描述:给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例 2:输入: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4

2020-07-28 21:16:14

解题思路-leetcode第五十六题:合并区间

解题思路-leetcode第五十六题:合并区间给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。解题思路:本题采用先排序然后依次遍历列表元素寻找上下界的方法。首先根据列表内

2020-07-24 22:18:31

解题思路-leetcode第五十五题:跳跃游戏

解题思路-leetcode第五十五题:跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远

2020-07-21 21:04:44

解题思路-leetcode第五十四题:螺旋矩阵

解题思路-leetcode第五十四题:螺旋矩阵题目描述:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]解题思路:本题与第

2020-07-17 20:56:01

解题思路-leetcode第五十三题:最大子序和

解题思路-leetcode第五十三题:最大子序和题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。解题思路:本题采用暴力解法,即通过遍历数组,比较当前元素与之前元素...

2020-07-14 18:12:48

解题思路-leetcode第五十二题:N皇后Ⅱ

解题思路-leetcode第五十二题:N皇后Ⅱ题目描述:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,“…Q”,“.Q…”]]提示:皇后,是国际象棋中的棋

2020-07-10 21:04:54

解题思路-leetcode第五十一题:N皇后

解题思路-leetcode第五十一题:N皇后题目描述:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,

2020-07-07 23:24:01

解题思路-leetcode第五十题:Pow(x, n)

解题思路-leetcode第五十题:Pow(x, n)题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数。解题思路:本题本来采用for循环

2020-07-03 18:32:36

解题思路-leetcode第四十九题:字母异位词分组

解题思路-leetcode第四十九题:字母异位词分组题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序解题思路:看到题目本来想用字典做,即将排序后的字符串作为key,字符串作为value,但是后来查阅

2020-06-30 21:54:17

解题思路-leetcode第四十八题:旋转图像

解题思路-leetcode第四十八题:旋转图像题目描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9,11],[ 2, 4,

2020-06-28 20:40:16

解题思路-leetcode第四十七题:全排列Ⅱ

解题思路-leetcode第四十七题:全排列Ⅱ题目描述:给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]解题思路:本题和46题全排列十分相似,区别只是对46题全排列结果的去重,所以采用与46题同样的思路,只是在递归函数判断循环到最后一个元素从而添加结果时,增加去重操作,即判断该结果是否已经在结果集合内。代码如下:class Solution: def permuteUnique(self

2020-06-23 17:44:01

解题思路-leetcode第四十六题:全排列

解题思路-leetcode第四十六题:全排列题目描述:给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题思路:本题采用回溯法,利用递归函数,每一次尝试插入一个数,当不满足条件时,跳出此次递归,并循环到下一个数然后进入递归。首先是定义递归函数,函数内部,首先进行临界条件判断,若当前递归函数得输入列表已经没有元素,则将此时得到的答案t添加进最终

2020-06-18 22:04:48

解题思路-leetcode第四十五题:跳跃游戏Ⅱ

解题思路-leetcode第四十五题:跳跃游戏Ⅱ题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置解题思路:本题采用贪心策略解题,第一想法是从后往前找,每次

2020-06-16 22:45:17

解题思路-leetcode第四十四题:通配符匹配

解题思路-leetcode第四十四题:通配符匹配题目描述:给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘’ 的通配符匹配。‘?’ 可以匹配任何单个字符。'’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 。示例 1:输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。

2020-06-12 21:46:33

解题思路-leetcode第四十三题:字符串相乘

解题思路-leetcode第四十三题:字符串相乘题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非

2020-06-09 18:12:52

解题思路-leetcode第四十二题:接雨水

题目描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解题思路:本体采用先补齐容器,再用总体大小减去柱子大小的和的方法解题,首先对特殊情况进行处理,当数组长度小于等于2时,无法接到雨水,此时返回0,

2020-06-05 21:51:23

解题思路-leetcode第四十一题:缺失的第一个正数

解题思路-leetcode第四十一题:缺失的第一个正数题目描述:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。解题思路:因为本题对时间复杂度和空间复杂度做出了要求,所以无法使用双循环暴力解法,故本题采用多次遍历列表,并通过对列表元素进行标记的方法解题,首

2020-06-02 20:51:04

解题思路-leetcode第四十题:组合总和Ⅱ

解题思路-leetcode第四十题:组合总和Ⅱ给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7],[1, 2, 5],[2, 6],[1, 1,

2020-05-29 21:47:36

解题思路-leetcode第三十九题:组合总和

解题思路-leetcode第三十九题:组合总和题目描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入: cand

2020-05-26 21:30:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。