LeetCode 探索初级算法
文章平均质量分 93
这部分是探索初级算法的数组部分。
小P同学L
这个作者很懒,什么都没留下…
展开
-
LeetCode探索初级算法目录
初级算法探索目录LeetCode 探索初级算法-数组:01 删除排序数组中的重复项-20200314LeetCode 探索初级算法-数组:02 买股票的最佳时机 II-20200315LeetCode 探索初级算法-数组:03 旋转数组-20200316LeetCode 探索初级算法-数组:04 存在重复-20200317LeetCode 探索初级算法-数组:05 只出现一次的...原创 2020-04-02 22:51:36 · 281 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:01 删除排序数组中的重复项-20200314
01 删除排序数组中的重复项-20200314题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,2。 你不...原创 2020-03-31 11:23:45 · 152 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:02 买股票的最佳时机 II-20200315
02 买股票的最佳时机 II-20200315题目给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入...原创 2020-03-31 11:24:42 · 177 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:03 旋转数组-20200316
03 旋转数组-20200316题目给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]说明尽...原创 2020-03-31 11:27:43 · 173 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:04 存在重复-20200317
04 存在重复-20200317题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例输入: [1,2,3,1]输出: true注意事项这道题并没有要求空间复杂度。 注意要求任何数字出现至少两次。 要考虑负整数。思路一这道题应该不难,最简单的思路就是直接新建一个数...原创 2020-03-31 11:28:40 · 147 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:05 只出现一次的数字-20200317
05 只出现一次的数字-20200317题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例输入: [2,2,1]输出: 1说明你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?注意事项整数数组非空,按照题目要求,数组最少有三个数字。 时间复杂度是O(N),最好一个循环内搞定。 不新开存...原创 2020-03-31 11:29:18 · 135 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:06 两个数组的交集 II-20200318
06 两个数组的交集 II-20200318题目给定两个数组,编写一个函数来计算它们的交集。示例输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]说明输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。进阶如果给定的数组已经排好序呢?你将如何优化你的算法? 如果nums1...原创 2020-03-31 11:29:54 · 160 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:07 加一-20200319
07 加一-20200319题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。注意事项这。。。直接在最后一项加一不就好了。。。不过要注意,如果大于9...原创 2020-03-31 11:30:39 · 160 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:08 移动零-20200320
08 移动零-20200320题目给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。注意事项:不能额外开辟新空间。 注意空数组。思路一直接一次遍历,找到0进行pop()操作,再将...原创 2020-03-31 11:31:18 · 167 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:09 两数之和-20200321
09 两数之和-20200321题目给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = ...原创 2020-04-01 22:40:12 · 136 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:10 有效的数独-20200321
10 有效的数独-20200321题目判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。数独部分空格内已填入了数字,空白格用'.'表示。示例输入:[ ["5","3",".",".","...原创 2020-04-01 22:40:26 · 174 阅读 · 0 评论 -
LeetCode 探索初级算法-数组:11 旋转图像-20200322
11 旋转图像-20200322题目给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转 90 度。示例给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]说明你必须在原地旋转图像,这意味着你需要直接修改输入的...原创 2020-04-01 22:40:35 · 188 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:12 反转字符串-20200323
12 反转字符串-20200323题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示例输入:["h","e","l","l","o"]输出:["o","l","l...原创 2020-04-01 22:40:49 · 187 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:13 整数反转-20200323
13 整数反转-20200323题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例输入: 123输出: 321注意假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为。请根据这个假设,如果反转后整数溢出那么就返回 0。注意事项数字是否以0开头。 注意超出范围。思路一最基本的思路就是递归除,得到一位的数值,然后翻...原创 2020-04-01 22:40:57 · 179 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:14 字符串中的第一个唯一字符-20200324
14 字符串中的第一个唯一字符-20200324题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例s = "leetcode"返回 0.说明您可以假定该字符串只包含小写字母。注意事项空字符串的情况。思路一因为题目要求是小写的英文字母,一共就26个,ASCII码从97到122。所以可以设置一个长度为26的数组,里面...原创 2020-04-01 22:41:05 · 312 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:15 有效的字母易位词-20200327
15 有效的字母易位词-20200327中间断了两天,今天是周五,在下周一前会补上前面的两道题。题目给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例输入: s = "anagram", t = "nagaram"输出: true说明你可以假设字符串只包含小写字母。进阶如果输入字符串包含 unicode 字符怎么办?你能否调...原创 2020-04-01 22:41:13 · 243 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:16 验证回文字符串-20200327
16 验证回文字符串-20200327题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。示例输入: "A man, a plan, a canal: Panama"输出: true说明本题中,我们将空字符串定义为有效的回文串。注意事项回文字符串就是顺着读,倒着读都是一样的。 不用考虑空格和逗号。思路一双指针方法可以的。一...原创 2020-04-01 22:41:21 · 208 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:17 字符串转换整数(aoti)-20200328
17 字符串转换整数(aoti)-20200328题目请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该...原创 2020-04-01 22:41:28 · 287 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:18 实现 strStr()-2020329
18 实现 strStr()-2020329题目实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例输入: haystack = "hello", needle = "ll"输出: 2说明当needle...原创 2020-04-01 22:41:35 · 160 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:19 外观数组-20200330
19 外观数组-20200330题目外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11被读作"two 1s"("两个一"), 即21。21被读作"one 2...原创 2020-04-02 22:32:57 · 174 阅读 · 0 评论 -
LeetCode 探索初级算法-字符串:20 最长公共前缀-20200331
20 最长公共前缀-20200331题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例输入: ["flower","flow","flight"]输出: "fl"说明所有输入只包含小写字母a-z。注意事项这相当于一个列表中存放了多个字符串,判断这些字符串的前缀是否一致。思路一直接循环,就这个终止条件需要好...原创 2020-04-02 22:33:04 · 226 阅读 · 0 评论 -
LeetCode 探索初级算法-链表:21 删除链表中的节点-20200404
今天是哀悼日,为在这次疫情中牺牲的前线医护工作人员,在山火中牺牲的消防工作人员,以及各种为祖国牺牲的英雄们致敬!!!多难兴邦!!!之前的四五天都在忙组会和整理CSDN的文档。我发现在一个文档里写的太多,网站会反应很慢,因此,我把所有的算法题都拆成一个个小的博客了,可以通过下面的目录链接查看。LeetCode探索初级算法目录21 删除链表中的节点-20200404题目请编写一个函...原创 2020-04-04 11:51:57 · 170 阅读 · 0 评论 -
LeetCode 探索初级算法-链表:22 删除链表的倒数第N个节点-20200405
21 删除链表的倒数第N个节点-20200405题目给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明给定的n保证是有效的。进阶你能尝试使用一趟扫描实现吗?注意事项...原创 2020-04-05 17:04:00 · 211 阅读 · 0 评论