自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 问答 (1)
  • 收藏
  • 关注

原创 【LeetCode刷题记录】148. 排序链表

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表。输入:head = [4,2,1,3]输出:[1,2,3,4]输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]输入:head = []输出:[]链表中节点的数目在范围05∗104内−105<=Nodeval<=105进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?

2024-04-26 11:00:00 633

原创 【LeetCode刷题记录】138. 随机链表的复制

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y。

2024-04-25 14:52:01 1048

原创 【LeetCode刷题记录】92. 反转链表 II & 25. K 个一组翻转链表

两题都是反转链表,放在一起整理。图解来自B站视频讲解:[反转链表](强推!!!

2024-04-25 11:18:06 1035

原创 【LeetCode刷题记录】24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head = [1,2,3,4]输出:[2,1,4,3]输入:head = []输出:[]输入:head = [1]输出:[1]链表中节点的数目在范围 [0, 100] 内。

2024-04-24 15:56:38 454

原创 【LeetCode刷题记录】19. 删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1], n = 1输出:[]输入:head = [1,2], n = 1输出:[1]链表中结点的数目为 sz进阶:你能尝试使用一趟扫描实现吗?

2024-04-24 11:53:48 215

原创 【LeetCode刷题记录】2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.输入:l1 = [0], l2 = [0]输出:[0]输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]

2024-04-23 11:25:29 502

原创 【LeetCode刷题记录】21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]输入:l1 = [], l2 = []输出:[]输入:l1 = [], l2 = [0]输出:[0]两个链表的节点数目范围是 [0, 50]l1 和 l2 均按 非递减顺序 排列。

2024-04-23 11:00:00 202

原创 【LeetCode刷题记录】142. 环形链表 II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。输入:head = [3,2,0,-4], pos = 1。

2024-04-22 11:25:07 1089

原创 【LeetCode刷题记录】141. 环形链表

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true。否则,返回 false。输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。

2024-04-22 11:00:00 683

原创 【LeetCode刷题记录】234. 回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。输入:head = [1,2,2,1]输出:true输入:head = [1,2]输出:false链表中节点数目在范围[1, 105] 内进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

2024-04-21 21:57:58 213

原创 【LeetCode刷题记录】206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]输入:head = [1,2]输出:[2,1]输入:head = []输出:[]链表中节点的数目范围是 [0, 5000]进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?思路(1)迭代法:将每个节点的next指针指向改为前一个节点,第一个指针的next指向空节点,需要prev指针保存当前节点作为下一个指针的前节点。

2024-04-21 20:45:52 471

原创 【LeetCode刷题记录】160. 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入): - 相交的起始节点的值。如果不存在相交节点,这一值为 0 - 第一个链表 - 第二个链表 - 在 中(从头节点开始)跳到交叉节点的节点数 - 在 中(从头节

2024-04-18 11:30:00 1166

原创 【LeetCode刷题记录】240. 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true。

2024-04-18 11:00:00 830

原创 【LeetCode刷题记录】48. 旋转图像

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]给定一个 n × n 的二维矩阵 matrix 表示一个图像。由于需要原地操作,可先进行转置(交换对角线元素),之后再将矩阵的每一行进行翻转即可。旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。如果不需要原地操作,只需要新建空矩阵,使新矩阵。

2024-04-17 11:30:00 309

原创 【LeetCode刷题记录】54. 螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]

2024-04-17 11:00:00 398

原创 【LeetCode刷题记录】73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。请使用 原地 算法。输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]m==matrixlengthn==matrix0leng。

2024-04-16 11:30:00 609

原创 【LeetCode刷题记录】41.缺失的第一个正数

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。输入:nums = [1,2,0]输出:3解释:范围 [1,2] 中的数字都在数组中。输入:nums = [3,4,-1,1]输出:2解释:1 在数组中,但 2 没有。输入:nums = [7,8,9,11,12]输出:1解释:最小的正数 1 没有出现。

2024-04-16 11:00:00 940

原创 【LeetCode刷题记录】53. 最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [1]输出:1输入:nums = [5,4,-1,7,8]输出:231

2024-04-15 14:29:09 676

原创 【LeetCode刷题记录】56. 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为intervalsistarti​endi​。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

2024-04-15 11:30:00 688

原创 【LeetCode刷题记录】238. 除自身以外数组的乘积

给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。输入: nums = [1,2,3,4]输出: [24,12,8,6]输入: nums = [-1,1,0,-3,3]输出: [0,0,9,0,0]2<=numslength<=

2024-04-14 11:25:28 1210

原创 【LeetCode刷题记录】189. 轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

2024-04-14 11:00:58 739

原创 【LeetCode刷题记录】76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “”。对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”解释:最小覆盖子串 “BANC” 包含来自字符串 t 的 ‘A’、‘B’ 和 ‘C’。输入:s = “a”, t = “a”

2024-04-13 11:21:09 816

原创 【LeetCode刷题记录】239. 滑动窗口最大值

239 滑动窗口最大值给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3

2024-04-12 11:32:54 845

原创 【LeetCode刷题记录】560. 和为 K 的子数组

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数。子数组是数组中元素的连续非空序列。输入:nums = [1,1,1], k = 2输出:2输入:nums = [1,2,3], k = 3输出:2。

2024-04-11 15:34:02 502

原创 【LeetCode刷题记录】438. 找到字符串中所有字母异位词

首先需要考虑字符串s和p的长度,如果p的长度大于s则直接返回空数组。给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。起始索引等于 6 的子串是 “bac”, 它是 “abc” 的异位词。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。起始索引等于 1 的子串是 “ba”, 它是 “ab” 的异位词。起始索引等于 2 的子串是 “ab”, 它是 “ab” 的异位词。

2024-04-11 11:02:08 614

原创 【LeetCode刷题记录】15. 三数之和

首先需要将数组进行排序,然后将 k 指针固定,i 指针指向 k 的下一个元素,j 指向末元素。在从头至尾遍历k的情况下,对 i,j 指针分情况讨论,这样可使时间复杂度降到。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]注意,输出的顺序和三元组的顺序并不重要。输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。输出:[[0,0,0]]

2024-04-08 11:24:35 892

原创 【LeetCode刷题记录】11. 盛最多水的容器

有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。当height[i]height[j]时,j 指针左移;输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]返回容器可以储存的最大水量。说明:你不能倾斜容器。

2024-04-08 09:55:41 320

原创 【LeetCode刷题记录】49.字母异位词分组

使用sort对原本的字符串数组进行排序,使每个字符串都按照字母序排序,然后用map存储字母序的字符串作为键,字母异位词作为值。给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。strs[i] 仅包含小写字母。

2024-04-07 16:20:56 177 1

原创 如何用js显示一个div的多个样式

可利用with(**.style),with的意思是{}里面可以省略掉with()里()的对象。下面给出一个绘制关闭按钮的例子。

2023-04-13 10:57:46 214

原创 Qt中写post请求函数如何直接输入url和body参数(字符串列表)获取数据

std::initializer_list是C++11中的一个新特性,用于在函数中传递任意数目的参数列表,类似于C语言中的可变参数列表。std::initializer_list类型的参数可以接收多个参数,这些参数可以是相同类型或者不同类型,但必须在调用函数时用花括号括起来。在上面的代码中,我们定义了一个print函数,它的参数类型为std::initializer_list,可以接收任意数目的int类型参数。print函数会遍历这个参数列表,并输出每个元素的值。在发送post请求里封装json数据,

2023-03-25 15:34:00 1238

原创 字符串编辑距离算法的python实现

字符串编辑距离算法(LevenshteinDistance)理解:将字符串A编辑为字符串B所进行的最小操作数,操作包括插入、删除、修改。举例1:“kitten"变为"sitting”‘k’->‘s’‘e’变为’i’‘kitten’末尾还需加上’g’故字符串编辑距离为3举例2:“fish abc"变为"pushabdc”‘f’ -> ‘p’‘i’ -> ‘u’’ '删除‘abc’中’c’前增加’d’故字符串编辑距离为4python代码实现参考C++代码修改imp

2022-05-17 20:57:53 709

原创 【PAT刷题甲级】部分笔记1065-1155~(下)

写在前面接上篇【PAT刷题甲级】部分笔记1001-1064~(上)这里是1065-1155,同样仅为本人刷的题部分笔记,不包括所有题,希望对刷题的同学有帮助~上篇:【PAT刷题甲级】部分笔记1001-1064~(上)1065:A+B和C(64进制)(大整数运算与比较)cin和scanf还真有点不同,如果读取的数溢出,cin得到的是最大值,而scanf得到的是溢出后的值struct bign { //大整数 int d[22]; int len; bign(){ memset(d,0,s

2021-12-11 17:29:37 647

原创 【PAT刷题甲级】部分笔记1001-1064~(上)

写在前面这里C++菜鸟一枚~暑假将近两个月刷PAT甲级的笔记在此,虽然最终也没有取得满意的结果,但是不可否认,还是从中学到了很多,是我准备的还不够充分,希望能给刷题的同学们一些帮助。PS:不是每道题都有,仅仅记录了本人刷过的题中记下的一点心得,分为上下两篇笔记。常用知识点:1. 数据类型转换string 类型转 int 、 long 、 long long 、 float 、 double 、 long double// 头文件 #include <string> : stoi

2021-12-11 16:19:49 911 1

原创 【PAT刷题甲级】1057.Stack

1057 Stack (30 分)Stack is one of the most fundamental data structures, which is based on the principle of Last In First Out (LIFO). The basic operations include Push (inserting an element onto the top position) and Pop (deleting the top element). Now you

2021-09-19 22:16:45 172

原创 【PAT刷题甲级】1089.Insert or Merge

1089 Insert or Merge (25 分)According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, finds the location it belong

2021-09-19 16:59:18 234 2

原创 【PAT刷题甲级】1101.Quick Sort

1101 Quick Sort (25 分)There is a classical process named partition in the famous quick sort algorithm. In this process we typically choose one element as the pivot. Then the elements less than the pivot are moved to its left and those larger than the pivo

2021-09-18 22:24:22 141

原创 【PAT刷题甲级】1137.Final Grading

1137 Final Grading (25 分)针对测试点3答案错误,已解决!For a student taking the online course “Data Structures” on China University MOOC (http://www.icourse163.org/), to be qualified for a certificate, he/she must first obtain no less than 200 points from the online pr

2021-09-18 14:54:03 239

原创 【PAT刷题甲级】1136.A Delayed Palindrome

1136 A Delayed Palindrome (20 分)Consider a positive integer N written in standard notation with k+1 digits ai as ak ⋯a1 a0 with 0≤ai <10 for all i and ak>0. Then N is palindromic if and only if ai =ak−i for all i. Zero is written 0 and is also pal

2021-09-18 10:57:51 144

原创 【PAT刷题甲级】1097.Deduplication on a Linked List

1097 Deduplication on a Linked List (25 分)Given a singly linked list L with integer keys, you are supposed to remove the nodes with duplicated absolute values of the keys. That is, for each value K, only the first node of which the value or absolute value

2021-09-17 22:06:45 118

原创 【PAT刷题甲级】1052.Linked List Sorting

1052 Linked List Sorting (25 分)A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contains an integer key and a Next pointer to the next structure. Now given a linked list, you are

2021-09-17 19:52:06 127

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除