![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法Leetcode
文章平均质量分 58
我喝酸奶不舔盖
这个作者很懒,什么都没留下…
展开
-
Leetcode 058 最后一个单词的长度 C++ python JAVA
题目:给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5算法过程:如果是用python 或者 java 比较高级点的语言来写,直接套用函数先把字符串切开,再返回最后一项的长度即可。如果是想不用函数,...原创 2018-07-25 15:32:17 · 353 阅读 · 0 评论 -
Leetcode 065 有效数字 Python C++
题目:验证给定的字符串是否为数字。例如:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10" => true说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。更新于 2015-02-10:C++函数的形式已经更新了。如果你仍原创 2018-08-02 20:42:34 · 339 阅读 · 0 评论 -
Leetcode 075 颜色分类 Python C++ 史上最详细题解系列(多解法)
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: ...原创 2018-08-12 08:02:41 · 456 阅读 · 0 评论 -
Leetcode 067 二进制求和 Python C++
本人一直在努力地积累Leetcode上用Python, C++实现的题,并且会尽力讲清每道题的原理,绝不像其他某些博客简略地带过。如果觉得讲的清楚,欢迎关注。题目:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010...原创 2018-08-03 11:31:12 · 292 阅读 · 0 评论 -
Leetcode 078 子集 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3],...原创 2018-08-15 08:50:45 · 379 阅读 · 0 评论 -
Leetcode 071 简化路径 Python C++
题目:给定一个文档 (Unix-style) 的完全路径,请进行路径简化。例如,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../" 的情况? 在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜杠 '/' ,如 &q原创 2018-08-08 09:31:42 · 377 阅读 · 0 评论 -
Leetcode 076 最小覆盖子串 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这...原创 2018-08-13 08:45:56 · 2513 阅读 · 0 评论 -
Leetcode 079 搜索单词 Python C++ 史上最详细题解系列
题目:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "...原创 2018-08-16 09:07:50 · 1762 阅读 · 1 评论 -
Leetcode 82 删除排序链表中的重复元素 II Python C++ 史上最详细题解系列
题目:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3 这篇文章会写一个正面教材(cpp),一个反面教材(p...原创 2018-08-19 12:25:36 · 716 阅读 · 0 评论 -
Leetcode 80 删除排序数组中的重复项 II Python C++ 史上最详细题解系列
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组...原创 2018-08-17 17:49:14 · 936 阅读 · 0 评论 -
Leetcode 084 柱状图中最大的矩形
最近鸽了挺多天的,但写leetcode这个习惯还是会继续保持的!每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为...原创 2018-08-30 18:50:22 · 974 阅读 · 1 评论 -
Leetcode 312 打气球 Burst Balloons C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 ri...原创 2018-08-21 11:05:32 · 2561 阅读 · 1 评论 -
Leetcode 066 加一 Python C++
题目:给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示...原创 2018-08-02 20:41:33 · 214 阅读 · 0 评论 -
Leetcode 070 爬楼梯 python C++
题目:假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步...原创 2018-08-07 10:45:59 · 448 阅读 · 0 评论 -
Leetcode 074 探索二维矩阵 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11,...原创 2018-08-11 10:07:22 · 325 阅读 · 0 评论 -
Leetcode 059 螺旋矩阵2 python C++ Java
题目:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]] 算法过程:按照填充的数学规律,把这个方阵填完。可以发现这一定是一个正方形的矩阵,而且横着向右填完一行后,下一次横着向右填的那一行的行数等于上一次填的行数+...原创 2018-07-26 09:12:09 · 575 阅读 · 0 评论 -
Leetcode 062 不同路径 Python (动态规划)
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路...原创 2018-07-29 11:18:24 · 1977 阅读 · 0 评论 -
Leetcode 063 不同路径|| Python C++ 详细题解
题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:...原创 2018-07-30 15:28:57 · 267 阅读 · 0 评论 -
Leetcode 060 第k个排列 python
题目:给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123" "132" "213" "231" "312" "321"给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。 给定 k 的范围是[1, n!]。示例 1:输入:原创 2018-07-27 11:54:14 · 1022 阅读 · 0 评论 -
Leetcode 068 文本左右对齐 Python C++
题目:给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空...原创 2018-08-04 16:48:45 · 630 阅读 · 0 评论 -
Leetcode 072 编辑距离 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。题目:给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输...原创 2018-08-09 07:09:44 · 870 阅读 · 0 评论 -
Leetcode 064 最小路径和 C++ Python
题目:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 算法过程:利用动态规划的思路dp[i][j]用来表示到达这个点所需要的...原创 2018-07-31 17:48:17 · 502 阅读 · 0 评论 -
Leetcode 061 旋转链表 python (多解法)
一步一个脚印的python leetcode 题解。本人一直在努力地积累Leetcode上用Python实现的题,并且会尽力讲清每道题的原理,绝不像其他某些博客简略地带过。如果觉得讲的清楚,欢迎关注。 题目描述:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NUL...原创 2018-07-28 11:33:00 · 1308 阅读 · 0 评论 -
Leetcode 069 x的平方根 Python C++
本人一直在努力地积累Leetcode上用Python, C++实现的题,并且会尽力讲清每道题的原理,绝不像其他某些博客简略地带过。如果觉得讲的清楚,欢迎关注。 题目:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:...原创 2018-08-06 10:44:23 · 348 阅读 · 1 评论 -
Leetcode 073 矩阵置零 Python C++ 史上最详细题解系列
题目:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1...原创 2018-08-10 19:58:43 · 614 阅读 · 0 评论 -
Leetcode 077 组合 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]思路:深度优先搜索+回...原创 2018-08-14 15:09:34 · 245 阅读 · 0 评论 -
Leetcode 83 删除排序链表中的重复元素 Python C++ 史上最详细题解系列
鸽了好几天了,结果这道题又这么水。。。但还是写下,一步一个脚印来。 每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2-...原创 2018-08-25 13:24:23 · 224 阅读 · 0 评论