![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 61
我喝酸奶不舔盖
这个作者很懒,什么都没留下…
展开
-
Leetcode 068 文本左右对齐 Python C++
题目:给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空...原创 2018-08-04 16:48:45 · 634 阅读 · 0 评论 -
Leetcode 071 简化路径 Python C++
题目:给定一个文档 (Unix-style) 的完全路径,请进行路径简化。例如,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../" 的情况? 在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜杠 '/' ,如 &q原创 2018-08-08 09:31:42 · 381 阅读 · 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 · 2519 阅读 · 0 评论 -
Leetcode 81 搜索旋转排序数组 II Python C++ 史上最详细题解系列
题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。示例 1:输入: nums = [2,5,6,0,0,1,2], target = 0输出: true示例 2:输入:...原创 2018-08-18 14:22:11 · 848 阅读 · 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 · 1767 阅读 · 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 · 724 阅读 · 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 · 939 阅读 · 0 评论 -
Leetcode 084 柱状图中最大的矩形
最近鸽了挺多天的,但写leetcode这个习惯还是会继续保持的!每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为...原创 2018-08-30 18:50:22 · 978 阅读 · 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 · 2570 阅读 · 1 评论 -
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 · 1028 阅读 · 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 · 384 阅读 · 0 评论 -
Leetcode 072 编辑距离 Python C++ 史上最详细题解系列
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。题目:给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输...原创 2018-08-09 07:09:44 · 875 阅读 · 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 · 356 阅读 · 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 · 622 阅读 · 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 · 252 阅读 · 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 · 332 阅读 · 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 · 454 阅读 · 0 评论 -
Leetcode 075 颜色分类 Python C++ 史上最详细题解系列(多解法)
每天更新一道python or C++ leetcode题,力求讲解清晰准确,客官们可以点赞或者关注。 题目:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: ...原创 2018-08-12 08:02:41 · 459 阅读 · 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 · 294 阅读 · 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 · 228 阅读 · 0 评论