LeCode专栏
记录在LeCode的自己.
Cain Xcy
万丈高楼平地起,勿在浮沙筑高楼。
展开
-
【LeetCode】实现 strStr() 函数
01、目录文章目录01、目录02、题目描述03、思路04、代码实现02、题目描述给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是原创 2020-09-26 16:15:21 · 156 阅读 · 2 评论 -
【LeetCode】移除元素
01、目录文章目录01、目录02、问题描述03、问题疑惑04、思路05、代码实现02、问题描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例一:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需原创 2020-09-10 09:23:45 · 143 阅读 · 0 评论 -
【LeetCode】两数之和
01、目录目录01、目录02、问题描述03、思路04、代码实现05、小结02、问题描述两数之和:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]03、思路首先,我们看到这原创 2020-08-28 11:39:24 · 174 阅读 · 0 评论 -
【LeetCode】递归类算法:反转字符串
01、文章目录文章目录01、文章目录02、问题描述03、思路04、代码实现4.1 C语言版4.2 C++版05、小结02、问题描述反转字符串:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e原创 2020-08-20 11:04:01 · 629 阅读 · 0 评论 -
【LeetCode】数组类算法:移动零
01、目录目录01、目录02、问题描述03、思路04、代码实现4.1 C语言版4.2 C++版05、小结02、问题描述题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:1、必须在原数组上操作,不能拷贝额外的数组。2、尽量减少操作次数。03、思路可以使用双类似双指针的办法,一个指针移动,另一个指针负责记录。即先记录最后一个的位置,赋给两个变原创 2020-08-19 16:05:25 · 247 阅读 · 0 评论 -
【LeetCode】旋转矩阵
01.文章目录文章目录01.文章目录02.问题描述03.思路04.代码实现05.总结02.问题描述矩阵是线性代数中的基本概念,说白了在编程中就是多维数组的体现。旋转矩阵:通过旋转矩阵得到一个与原矩阵数据存储顺序不同的矩阵。给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:原创 2020-07-03 20:33:43 · 541 阅读 · 0 评论 -
【LeetCode】合并区间
【题目】:合并区间,这里依然使用C++和C语言两个版本实现,思路都一样,先看题目!示例 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-06-24 09:51:41 · 304 阅读 · 0 评论 -
【LeetCode】搜索插入位置
【题目】:搜索插入位置。(使用C语言和C++两钟写法实现)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0通过上面的四个例子,题目的要求已经很明朗了.原创 2020-06-22 16:56:01 · 125 阅读 · 0 评论 -
【LeetCode】求数组的中心索引
【题目】:寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例:示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) 的左侧数之和 (1 + 7 + 3 = 11),与右.原创 2020-06-22 15:47:38 · 187 阅读 · 0 评论