自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前缀和+哈希表

个字符,所以很有可能要出现状态压缩和位运算相关的,所以我们可以用一个10位的二进制位表示每个字符出现的奇偶次数,0表示出现了偶数次,为1表示出现了奇数次,然后我们可以通过异或运算来变化,因为异或可以实现2进制的模2加法,我们用。接下来要求只出现1次的结果,实际上就是要求一个二进制数是的s ^ y = 1 << i,然后y = 1 << i ^ s。这道题要求我们求一个子串中数字和字母的个数相同,要让子串最大,我们可以假设字母为。我们处理很多求子数组,子串的时候对某种要求有限制,比如要求子串和为。

2024-02-19 18:26:54 782

原创 第 124 场双周赛

一次操作。

2024-02-18 15:36:13 817 1

原创 题解43-48

二叉树中的被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中。该路径节点,且不一定经过根节点。是路径中各节点值的总和。给你一个二叉树的根节点root,返回其。

2024-02-16 21:33:09 897 1

原创 题解37-42

给你一个二叉树的根节点root, 检查它是否轴对称。[1, 1000]

2024-02-16 21:14:17 967 1

原创 leetcode 99场双周赛

给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足:num1 和 num2 直接连起来,得到 num 各数位的一个排列。换句话说,num1 和 num2 中所有数字出现的次数之和等于 num 中所有数字出现的次数。num1 和 num2 可以包含前导 0。请你返回 num1 和 num2 可以得到的和的 最小 值。注意:num 保证没有前导 0。num1 和 num2 中数位顺序可以与 num 中数位顺序不同。示例 1:输入:num = 4325。

2024-02-15 20:01:22 1091 1

原创 相向双指针题单

实际上我们枚举第一个数,然后让剩余两个数相加等于这个数的负数就变得和上一道题一样了,这道题还需要注意的一点是我们需要去重,就是我们相同的数只考虑最后一个,其他的就让他。这道题也是沿用之前的思路,唯一不同的是由于有四个数,所以我们需要枚举二重循环来判别,还需要注意到是和可能会爆。,我们就把右指针左移,否则就把左指针右移.我们可以这样理解,我们每次循环的时候,花费。的信息,我们一般都是先暴力求解,然后再通过某些性质来获取更多的信息,比如。这道题也是和上一题一样的思路,唯一的区别在于我们需要定义一个。

2024-02-12 14:47:07 1026 1

原创 左值和右值

无论声明左值引用还是右值引用都必须立即进行初始化,因为引用类型本身并不拥有所绑定对象的内存,只是该对象的一个别名。通过右值引用的声明,该右值又“重获新生”,其生命周期与右值引用类型变量的生命周期一样,只要该变量还活着,该右值临时量将会一直存活下去。但 C++ 由于右值引用的出现而放宽了这一做法,从而产生了引用坍缩规则,允许我们对引用进行引用,传统的 C++ 没有区分『移动』和『拷贝』的概念,造成了大量的数据拷贝,浪费时间和空间。不一定能进行右值引用,当传入左值时,此函数的引用将被推导为左值。

2024-02-12 12:36:09 1073 1

原创 C++四种类型转换

然后,它会比较目标类型和实际类型,如果目标类型是实际类型的基类或者派生类,那么转换就是合法的,否则转换会失败。是 C++ 中的一种类型转换操作符,用于执行低级别的类型转换,可以将一个指针或引用转换为另一种类型的指针或引用,即使这两种类型之间没有直接的关联也可以进行转换。允许进行各种不安全的转换,包括将整数转换为指针,指针转换为整数,以及将指针类型转换为不同类型的指针,而不进行任何类型检查。也提供类之间的转化,但指提供有联系的类之间的转化,并且转化不保证安全,需要写代码的人来保证转化的合理性。

2024-02-12 09:49:39 777 1

原创 题解31-36

给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。word**进阶:**你可以使用搜索剪枝的技术来优化解决方案,使其在board更大的情况下可以更快解决问题?

2024-02-11 15:03:33 761 1

原创 题解25-30

给定一个包含非负整数的*m* x *n*网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。**说明:**每次只能向下或者向右移动一步。

2024-02-11 14:15:50 731 1

原创 题解19-24

给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转 90 度。你必须在**** 旋转图像,这意味着你需要直接修改输入的二维矩阵。使用另一个矩阵来旋转图像。

2024-02-11 08:58:40 1307 1

原创 题解13-18

给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。'('')'

2024-02-10 18:26:47 596 1

原创 题解7-12

给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。

2024-02-10 15:52:42 1088 1

原创 题解1-6

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。[1, 100]

2024-02-10 15:07:41 964 1

原创 leetcode第83场双周赛

给你一个整数数组ranks和一个字符数组suit。你有5张扑克牌,第i张牌大小为ranks[i],花色为suits[i]。下述是从好到坏你可能持有的"Flush""Pair"请你返回一个字符串,表示给定的 5 张牌中,你能组成的。**注意:**返回的字符串需与题目描述相同。

2024-02-08 11:18:41 743

原创 前缀和与哈希表(上)

最基本的前缀和和哈希表问题,而且注意这种问题一般不需要用真正的前缀和数组来统计,用一个值来统计即可,最后这道题还需要注意,到最后还要加上一个。因为这道题要求子数组长度至少为2,所以可以做一个特殊考虑,比如我们每次考虑两个数,当前数和前一个数,如果当前数可以找到结果就直接返回。距离最远,然后就可以用前缀和来统计,我们统计一个递减的单调栈,然后我们从后往前统计前缀和s,然后求一个最大值就可。转化思路加单调栈,可以把时长<8的看作是-1,时长大于8的看作是1,所以实际上就是求。子数组是数组中元素的连续非空序列。

2024-02-06 09:33:14 691 1

原创 leetcode第302场周赛

给你一个下标从开始的整数数组nums。numsnums请你在nums上多次执行此操作直到无法继续执行。返回一个下标从开始、长度为2的整数数组answer作为答案,其中answer[0]是形成的数对数目,answer[1]是对nums尽可能执行上述操作后剩下的整数数目。

2024-02-05 10:39:43 622 1

原创 leetcode第123场双周赛

给你一个下标从开始长度为3的整数数组nums,需要用它们来构造三角形。如果这个数组无法构成一个三角形,请你返回字符串"none",否则返回一个字符串表示这个三角形的类型。

2024-02-04 22:01:54 676

原创 leetcode301周赛

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满2杯类型的水或者1杯任意类型的水。给你一个下标从开始、长度为3的整数数组amount,其中amount[0]amount[1]和amount[2]分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的秒数。

2024-02-04 09:24:06 760

原创 leetcode周赛347前三题题解

思路:我们可以构造题目中的top数组和bot数组,然后对这两个数组取差值绝对值就行.构造数组可以看看下面的几个技巧,可以在主函数中用lambda函数实现check函数,这样就方便很多了.还有沿着对角线构造,我们可以考虑x=i, y=j可以直接判断x和y的合法性即可.简单解释:如果前i-1个已经为0了,需要把当前这个也加上即i个变成1,如果前(i-1)个变成1了,则需要将这些重新变成0,再重新变成1,总共需要i-1 + 1的成本。的位置,必定前缀变动i,或者后缀变动i + 1,注意到,变动后,会使得。

2023-05-31 19:07:14 76 1

原创 Leetcode547

其中n为矩阵宽度.这道题实际上求的是连通块中点的数量,我们只需要建图,然后遍历即可.需要注意为无向图,建两次即可。我们可以把所有有关系的点,连到一起,形成集合.记录合并的数量,用总数减去合并的数量就是答案,时间复杂度。这道题实际上是邻接表转图,写一个二维遍历即可,再用一个vis数组判重即可。是一组直接或间接相连的城市,组内不含其他没有相连的城市。个城市,其中一些彼此相连,另一些没有相连。遍历图也可以使用宽度优先算法,时间复杂度也是。表示二者不直接相连。

2023-05-30 12:18:42 37

空空如也

空空如也

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

TA关注的人

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