随笔分类 -  coding

just coding
摘要:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4 阅读全文
posted @ 2022-05-06 21:20 Ariel_一只猫的旅行 阅读(54) 评论(0) 推荐(0)
摘要:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: 阅读全文
posted @ 2022-05-05 13:56 Ariel_一只猫的旅行 阅读(118) 评论(0) 推荐(0)
摘要:示例 1: 输入:s = "3[a]2[bc]"输出:"aaabcbc"示例 2: 输入:s = "3[a2[c]]"输出:"accaccacc"示例 3: 输入:s = "2[abc]3[cd]ef"输出:"abcabccdcdcdef"示例 4: 输入:s = "abc3[cd]xyz"输出:" 阅读全文
posted @ 2022-05-05 11:07 Ariel_一只猫的旅行 阅读(71) 评论(0) 推荐(0)
摘要:给定一个仅包含 0 和 1 、大小为 rows * cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1"," 阅读全文
posted @ 2022-05-04 20:16 Ariel_一只猫的旅行 阅读(61) 评论(0) 推荐(0)
摘要:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 输入: heights = 阅读全文
posted @ 2022-05-03 21:47 Ariel_一只猫的旅行 阅读(119) 评论(0) 推荐(0)
摘要:给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 示例2: 输入:head = [-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例3: 输入:head = [] 输出:[] 提示: 链表 阅读全文
posted @ 2022-05-02 16:18 Ariel_一只猫的旅行 阅读(223) 评论(0) 推荐(0)
摘要:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例1: 输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1输出:[] 示例 3: 输入:head = [1,2], n = 1输出:[1] 提示: 阅读全文
posted @ 2022-05-01 18:45 Ariel_一只猫的旅行 阅读(37) 评论(0) 推荐(0)
摘要:给定一个数组 nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0] 示例 2: 输入: nums = [0]输出: [0] 提示 阅读全文
posted @ 2022-05-01 17:01 Ariel_一只猫的旅行 阅读(78) 评论(0) 推荐(0)
摘要:给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head = [1,2,2,1] 输出:true 示例2: 输入:head = [1,2] 输出:false 提示: 链表中节点数目在范围[1, 105] 内 0 阅读全文
posted @ 2022-04-30 22:38 Ariel_一只猫的旅行 阅读(84) 评论(0) 推荐(0)
摘要:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 阅读全文
posted @ 2022-04-27 20:44 Ariel_一只猫的旅行 阅读(49) 评论(0) 推荐(0)
摘要:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。 示例 阅读全文
posted @ 2022-04-27 20:19 Ariel_一只猫的旅行 阅读(82) 评论(0) 推荐(0)
摘要:给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库的sort函数的情况下解决这个问题。 示例 1: 输入:nums = [2,0,2, 阅读全文
posted @ 2022-04-27 19:37 Ariel_一只猫的旅行 阅读(70) 评论(0) 推荐(0)
摘要:【题目】 给定两个大小分别为m和n的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数 。 算法的时间复杂度应该为O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2, 阅读全文
posted @ 2022-04-26 16:45 Ariel_一只猫的旅行 阅读(138) 评论(0) 推荐(0)
摘要:双端队列是普通队列的加强版,区别于队列只能从队头出队,队尾入队;双端队列既可以在对头入队和出队,也可以在队尾入队和出队。 下图是双端队列的图解,可以看出,双端队列既可以在队头入队和出队,也可以在队尾入队和出队。 leetcode 239. 滑动窗口最大值【困难】 给你一个整数数组 nums,有一个大 阅读全文
posted @ 2022-04-14 23:10 Ariel_一只猫的旅行 阅读(362) 评论(0) 推荐(0)
摘要:继《线性表中的数组、链表、栈和队列的概念和基本应用》,本文讲解栈和队列的高级应用。 单调栈 双端队列 滑动窗口 一、单调栈 介绍:单调 + 栈,因此其同时满足两个特性:单调性、栈的特点。 单调性:单调栈里面所存放的数据是有序的(单调递减或者递增)。 栈:后进先出。 因其满足单调性和每个数字只会入栈一 阅读全文
posted @ 2022-04-11 20:58 Ariel_一只猫的旅行 阅读(281) 评论(0) 推荐(0)
摘要:栈被限定必须在栈顶进行插入和删除操作,因此其特点是后进先出。 下图是栈的插入(入栈)、删除(出栈)示意图。 队列 队列被限定在队头进行删除操作,在队尾进行插入操作,因此其特点为先进后出。 下图是队列的插入(入队)、删除(出队)示意图。 基本操作 栈和队列的插入和删除操作上图已经解释。 【例题】 le 阅读全文
posted @ 2022-04-06 14:45 Ariel_一只猫的旅行 阅读(78) 评论(0) 推荐(0)
摘要:介绍 链表的出现是为了解决数组(线性表)插入、删除带来的线性开销。 区别于数组,链表中的元素可以不连续存储,每一个元素包含该元素的数据和指向链表下一个节点的指针。 基本操作 插入 插入元素,要将插入元素X前一个位置的指针指向插入元素本身,将插入元素X的指针指向下一个位置。 删除 删除元素,要将删除元 阅读全文
posted @ 2022-04-04 23:03 Ariel_一只猫的旅行 阅读(84) 评论(0) 推荐(0)
摘要:只是本人习惯在做笔记中思考,大部分都不是原创。希望你不是为了完成一道题,而是通过题目这些载体,得到一种内化的思路和解决该类问题的思维,它将能长久伴随你! 【基础知识review】 线性表概述 线性: 这里的线性是逻辑上的连续,而非物理存储的连续。 存储的数据: 线性表是一个有n个相同类型数据的有序序 阅读全文
posted @ 2022-03-31 22:36 Ariel_一只猫的旅行 阅读(105) 评论(0) 推荐(0)
摘要:1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums 阅读全文
posted @ 2022-03-31 10:21 Ariel_一只猫的旅行 阅读(53) 评论(0) 推荐(0)
摘要:首先,了解下算法和数据结构有哪些知识点(如上图思维导图所示),形成一个适合自己的coding格局,大局观比较重要。 如何正确的做一道题: (1)从简入手:先从简单暴力(时间复杂度相对高)的方法入手; (2)优化:思考如何在第一步的基础上优化算法,降低时间复杂度; (3)构思代码:有了以上两步,此时应 阅读全文
posted @ 2022-03-30 16:21 Ariel_一只猫的旅行 阅读(51) 评论(0) 推荐(0)