自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 24年3月使用VS22编译Telegram Desktop

7.过程中可能会遇到下载失败的情况,这个时候会出现r重构,a全部重构,s跳过,p打印,q退出这几种选项,如果对自己编译能力不是特别有信心,那就不要自己去编译,选择重构。9.然后进入图中的文件夹进行构建,输入以下命令,命令中的api_id和api_hash是官方提供的示例,自己有的话可以替换成自己的。成功了的话就会显示SKIPPING,程序会自动跳过,需要手动输命令一般都是编译失败了,不过自己手动编译了的话也需要输命令跳过。3.去区域设置里勾上UTF-8编码,搜索框里输区域就能找到。10.编译成功的样子。

2024-03-30 22:24:56 410

原创 代码训练Day13 | 栈与队列part03 | 239. 滑动窗口最大值、347.前 K 个高频元素

给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。思路与解答:要创建一个递减的队列,只把有可能是最大值的值存入队列中。

2023-07-02 14:44:53 72 1

原创 代码训练Day11 | 栈与队列part02 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。思路与解答:这道题用栈结构来解决,遍历字符串,遇到左括号压入栈,遇到右括号弹出时间复杂度: O(n)空间复杂度: O(n)

2023-07-01 16:41:09 69

原创 代码训练Day10 | 栈与队列part01 | 232.用栈实现队列、 225. 用队列实现栈

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):实现MyQueueint pop()int peek()truefalse思路与解答:这道题可以用in栈和out栈来实现,实现pop函数时,先判断out栈是否为空,为空的话就把in栈所有内容加入到out栈,再弹出out栈的元素。时间复杂度: push和empty为O(1), pop和peek为O(n)空间复杂度: O(n)

2023-06-30 14:55:41 73

原创 代码训练Day9 | 字符串part02 | 28. 找出字符串中第一个匹配项的下标、459.重复的子字符串

给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。思路与解答:这道题要用KMP来解决,先求出next数组,再进行匹配时间复杂度: O(n + m)空间复杂度: O(m)

2023-06-21 12:02:25 39

原创 代码训练Day8 | 字符串part01 | 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。思路与解答:用双指针法,分别指向字符数组的首尾,然后交换位置时间复杂度: O(n)空间复杂度: O(1)

2023-06-20 21:37:16 48

原创 代码训练Day7 | 哈希表part02 | 454.四数相加II 、 383. 赎金信 、15. 三数之和 、 18. 四数之和

给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组思路与解答:用map来存储前两个数组的和,后两个数组作和再用find函数查找map中是否由符合条件的值。时间复杂度: O(n^2)空间复杂度: O(n^2)

2023-06-06 00:16:02 336 1

原创 代码训练Day6 | 哈希表part01 | 242. 有效的字母异位词、 349. 两个数组的交集 、202. 快乐数、1. 两数之和

给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。思路与解答:这道题可以直接用数组做出来,s字符串中的字母存入数组中,然后用t去进行匹配,如果出现字母的次数相同就返回true时间复杂度: O(n)空间复杂度: O(1)

2023-06-03 15:00:10 501

原创 代码训练Day4 | 链表part02 | 24. 两两交换链表中的节点、 19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。思路与解答:这道题的关键在于指针指向的位置,想要对链表节点进行操作,就需要让指针指向要操作的节点的前一个结点,第一步需要交换头结点,所以需要创建一个虚拟头结点时间复杂度:O(n)空间复杂度:O(1)

2023-06-03 10:38:02 507

原创 代码训练Day3 | 链表part01 | 203.移除链表元素、 707.设计链表 、206.反转链表

这道题可以用双指针法来求解,用cur指向当前节点,pre指向前一个结点,temp临时指向cur的下一个节点。时间复杂度: 涉及 index 的相关操作为 O(index), 其余为 O(1)这道题可以创建一个虚拟头节点,然后用while循环来找到要移除的元素。这道题没啥好说的,就是熟悉链表的结构,然后按照要求编写代码。以指示链表中的上一个节点。你可以选择使用单链表或者双链表,设计并实现自己的链表。,请你反转链表,并返回反转后的链表。给你一个链表的头节点。时间复杂度: O(n)空间复杂度: O(n)

2023-05-31 17:13:49 681

原创 代码训练Day2 | 数组part02 | 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II

这道题的话需要模拟转圈的过程,转圈的次数由n / 2决定,一共有四条边的循环,可以用4个for循环实现。这道题可以使用双指针法求解,从数组的两边往中间找,将较大值存入目标数组。这道题可以用滑动窗口法来求解,把滑动窗口的终点当作循环的控制条件。所有元素,且元素按顺时针顺序螺旋排列的。如果不存在符合条件的子数组,返回。个正整数的数组和一个正整数。组成的新数组,要求也按。时间复杂度 O(n^2)时间复杂度:O(n)空间复杂度:O(1)时间复杂度:O(n)空间复杂度:O(1)空间复杂度 O(1)

2023-05-25 23:10:34 1108 1

原创 代码训练Day1 | 数组part01|704. 二分查找、27. 移除元素

也可以用双指针法,即用两个指针分别指向数组,fast指针判断如果不是要删除的元素,就把元素赋值给slow指针。对于左闭右闭,left = mid + 1;对于左闭右开,left = mid + 1;这道题的关键在于分清楚边界值,左闭右闭和左闭右开的每次操作不同,这道题可以用暴力求解,要删除哪个元素就把它后面所有元素依此前移。的元素,并返回移除后数组的新长度。时间复杂度:O(log n)时间复杂度:O(log n)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)空间复杂度:O(1)

2023-05-25 18:59:35 1166 1

原创 C++用类实现单链表的元素首尾逆置

想实现单链表的元素逆置,但发现基本都是用结构体实现的,既然C++的特色就是面对对象,那么当然也能用面对对象来实现,于是参考了一些文章,做了一些优化并添加了注释,有问题的话可以留言

2023-04-22 15:46:40 88 1

空空如也

空空如也

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

TA关注的人

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