自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 力扣 --反转链表

这样子我们可以通过这个关系顺利地将节点。的节点,其中头结点的索引为 1,难点:在反转的过程中,如何将节点。的单链表的头指针,反转范围为。

2024-11-08 17:11:22 569

原创 力扣 -- 滑动窗口

给定一定长度为k的窗口,从数组的的最左侧移动到到数组最右侧,每次移动一位,移动过程中纪录窗口中最大值。难点:移动的过程中,如何纪录窗口内的最大值。我们可以使用创建一个滑动窗口,在移动的过程中不断维护队列的单调性;此外在队列中我们纪录元素的下标而不是元素本身。若要保持窗口的大小为k的话,则当前下标i与队头数值j需要i−jk不等式成立。

2024-11-07 15:45:46 782

原创 前端:遇到的面试题

GET:用于数据请求,数据放在 URL 中,有长度限制,适合读取操作。POST:用于数据提交,数据在请求体中,无长度限制,适合更新操作。

2024-10-28 22:32:27 725

原创 js 的宏任务和微任务

事件循环不断检查任务队列,按照一定规则处理同步代码、宏任务和微任务,并决定何时执行它们。在 JavaScript 中,宏任务(macro-task)和微任务(micro-task)是任务队列(task queue)中两个不同的任务类型,它们是 JavaScript 异步编程机制的重要组成部分。中依次执行,执行完一个宏任务后,事件循环会检查是否有需要执行的微任务队列。③ 当前宏任务中的所有同步代码执行完毕后,会执行微任务队列中的所有微任务,直到队列为空;,加入宏任务队列,当前宏任务队列 [

2024-10-26 14:35:55 734

原创 206. 反转链表

题目含义:将整个单链表反转,返回反转后的头结点。

2024-10-24 12:28:22 138

原创 1486. 数组异或操作

观察公式可以知道,这些元素的奇偶性质相同,因此它们的二进制表示中的最低位或者均为 1,或者均为 0。于是我们可以把参与运算的数的二进制位的最低位提取出来单独处理。当且仅当 start 为奇数,且 n 也为奇数时,结果的二进制位的最低位才为 1,我们将最低位用。此时,当我们把每个元素右移一位(除以 2),再将。我们可以根据异或运算的性质实现时间复杂度为。最后返回这个数组全部元素的异或结果。是偶数,所以化简结果为 1;构造一个数组,数组元素为。这样最后的结果即可表示为。对于本题,我们需要求解。

2024-10-14 20:15:19 884

原创 2275. 按位与结果大于零的最长组合

那么遍历数组,统计在第 k 位与 1 的按位与结果为 1 的元素个数,就可以得出这个组合的长度。而且我们还需要一个变量在遍历过程纪录最大的长度。当我们从二进制的位数出发,只要组合中第 k 位的所有元素按位与的结果为 1,那么这个组合就是大于 0 的。题目:给定 candidates 数组,计算数组的每种组合下 按位与 的结果,返回大于 0 的。是长度最长的且按位与的结果大于 0 的组合之一。其中对于二进制位的范围,题目给定的元素取值范围在。,因此我们只需要遍历 24 个二进制位即可。闭区间内,同时我们有。

2024-10-13 22:39:17 266

原创 260. 只出现一次的数字 III

位进行按位与操作,其结果为 1,表示为 type1;并且在遍历过程中对同一类对元素进行异或操作,根据上面的 2 个性质,最后的 type1 和 type2 就是。题目含义:有一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次,我们需要返回只出现一次的两个元素。,它的运算规则是在二进制表示,在同一位的数若是不同则为 1,否则为 0;这样就可以把 nums 中的所有元素分为两类,再次遍历数组:其中一类是元素与第。的解释,我们对数组的所有元素进行异或计算,得到。

2024-10-12 23:36:38 735

原创 2571. 将整数减少到零需要的最少操作数

(2) 判断最低位的 1 是连续的还是单个的:当最低位的 1 向左移动一位后与 n 进行 AND 操作的结果大于 1,则表示是连续的(111 & 10 = 010 > 0),否则为单个;如果最低位的 1 是连续的,则我们选择 +1,如果最低位的 1 是单个的,则我们选择 -1,来逐步向 2 的幂靠拢。n & (-n) 是用来提取数 n 的最低位的 1;① 定义变量 n,初始值为 1,因为当 n 是 2 的幂时,只需要一次操作;n & (n-1) = 0 表示 n 是 2 的幂。的最低位的 1,逐步将。

2024-10-10 13:02:21 485

原创 2401. 最长优雅子数组

这就意味着子数组的元素在二进制,从底到高位的第 i 位上,至多有一个元素的第 i 位比特是 1,其余元素在相同位上是比特 0,相当于这些元素同一位上不存在同时为 1 的情况;① 定义变量 ans、left 和 mask,分别表示最长优美子数组的长度、滑动窗口的左边界、以及记录当前窗口中所有数的按位或的结果;(1) 判断新加入的 nums[right] 和当前窗口中的某个数字有冲突(即 AND 不为 0):如果有冲突,则用异或。进行按位与 AND 运算的结果均为 0,且最短的优雅子数组的长度为 1。

2024-10-09 12:44:47 876

原创 2871. 将数组分割成最多数目的子数组

此外,从 nums 无论我们怎么取子数组,子数组的 AND 结果不会低于整个数组的 AND 结果。因为整个数组是考虑了全部的元素,每对一个新来的元素进行 AND 运算,只会减少。按位与 AND 运算的基本规则是:两个数的二进制表示的相应位都为 1 时,结果这一位才为 1,否则为 0;③ 当遍历结束后,如果 cnt == 0,返回 1,否则返回 cnt。因此,AND 运算随着参与的数越多,结果会逐渐减少为 0,比如。是否为 0,若是为 0,表示可以分割出一个子数组,更新。用来记录分割的子数组数量,

2024-10-08 12:10:27 759

原创 1310. 子数组异或查询

中在下标范围内 [left, right] 的异或结果。其中用到了异或运算的结合律,以及异或运算的性质。的时间内完成一个查询的计算。定义长度为 n+1 的数组。② 计算每个查询的结果,第。题目含义:对每个查询。① 求解前缀异或数组。

2024-10-08 00:38:21 737

原创 在 jupyter lab 中运行R语言

其中第一个输入回车后就有关于镜像源的选择,选择其中一个就好了,我选择的是标红的那个。其中官网链接:https://www.r-project.org/完成之后,重新启动 jupyter lab,就有 R 的图标了。安装完成后,你的电脑桌面就有相应的软件图片,打开是下面的形式。

2024-10-06 21:01:56 397

原创 位运算 -- 力扣

当 n = 4 时,start = 1,nums=[1, 3, 5, 7],最低位 e 为 0,原因:两个奇数进行异或操作结果为 0,因此偶数个奇数的最低位为 0;这个性质使得我们在处理长度为 4 的一组数时,不需要逐一计算它们的异或结果,而是直接知道它们的异或为 0,将问题的规模大幅缩小。观察公式可以知道,这些数的奇偶性相同,因此它们的二进制表示中的最低位要么均为 1,要么均为 0。为开头的连续四个整数异或的结果为 0” :连续四个整数的异或结果为 0,即为。为开头的连续四个整数异或的结果为 0,所以。

2024-10-03 21:22:23 811

原创 差分数组的练习

中,每一个元素实际上代表了一个区间内字符的位移情况,因此结果就可以从这些位移叠加得到答案。中,每一个预订记录实际上代表了一个区间的增量,因此结果就可以从这些增量叠加得到答案。注意本题中航班的编号从 1 到 n 的,因此我们需要相应的调整数组下标对应关系,对于预定记录。根据题意,需要返回一个数组,其中每个元素是当前航班的预定座位的个数。里的字符都进行移位运算,最终返回移位后最终字符串。差分数组的性质是,当我们希望对原数组的某一个区间。的影响,否则在从左到右累加 d 中的元素时。表示一段区间上的移位,即在。

2024-10-02 11:43:21 818

原创 快速排序 c++

并且此时只有 i 的位置是确定的,不会随着后续的快速排序而发生改变,所以可以根据此时的 i 索引得出 nums[i] 是第 k-1 小(从小到大排序)。:选取一个 pivot(哨兵),一般是待排序的数组的第一个元素,将数组分割成两部分,使得前面一部分小于等于 pivot,后面一部分大于等于 pivot;因为当 i 和 j 相遇时,说明已经遍历完所有的元素,此时所有的交换已经完成,此时再继续移动指针已经没有意义。若找到一个比 pivot 大的元素,记录此时不满足条件的下标 i;

2024-08-02 01:31:24 171

原创 力扣刷题 -- Pow(x, n)

与结果相乘,若为 0 则跳过次步),最后进行右移操作。总结:每次递归都会使得指数减少一半,因此递归的层数为。每当指数的最低位为 1 时,将当前的。的二进制最后一位是不是 1(若是 1,则当前的。根据题目,需要我们自己定义一个快速求幂的方法。,判断最后一位是否为 1:若结果为 1,则将。判断 n 的奇偶情况,若为奇数就多乘一个。,算法可以在很快的时间内得到结果。为奇数时,返回结果就多乘一个。,若为 0,则跳过这个步骤;,若为 0,则返回 1.0;为偶数时,就直接返回。,若为偶数,则直接返回。

2024-07-31 10:57:12 972

原创 力扣刷题 -- 二分查找

二分查找也叫折半查找,比如在一个有序的数组里面找到目标值,它是一种查询效率比较高的算法,时间复杂度Olog2nOlog2​n。它的基本思想是将目标值与数组中间的元素进行比较,如果目标值小于中间元素,则在数组的左半部分继续查找,否则在右半部分查找,不断缩小搜索范围,直到找到目标值或确定目标值不存在为止。lower_bound() 方法用于在一个有序数组 nums 中找到第一个大于或等于target 的元素的位置。// 左闭右闭区间:待查找的区间 [left, right]

2024-07-30 14:28:56 427

原创 力扣刷题 -- BFS 与 DFS

(2) 利用队列 que,将入度为 0 的点,放到队列中 【当顶点的入度为 0 ,相当于对应的课程已经学习完了,若仍有些课程的入度不为 0,说明图中存在环,无法被选,完成不了所有课】;(3) 从队列中得到入度为 0 的顶点,假设将这个顶点去掉,则对应的被指向的顶点的入度应被减一;比如 {1:[3, 4]} 表明为顶点 1 同时指向 3 和 4,in[3] = 2 相当于顶点 3 的入度为 2;(2) 若存在一条从顶点A到顶点B的路径,那么在序列中顶点A出现在顶点 B 的前面。方式二:双向 BFS。

2024-07-24 15:19:08 1017

原创 力扣刷题 -- 队列和栈

因此我们使用了两个哈希表:一个用来存储元素出现次数的哈希表 map ,它的的键值对为 {element: frequency},一个是用来存储具有相同频率的元素的 frequencyMap ,它的键值对为 {frequency: elements of the same frequency}【将 frequency 作为 key 】;在 push 操作中,更新元素的频率并将当前元素加入对应频率的栈中。,每个栈都存储着相同频率的数字(这里的频率指的是数字入栈时的频率),且保持了。

2024-07-20 00:19:02 870

原创 力扣刷题 -- 树

尽管 vals 数组的元素不是有序的,但 左子树的区间的整体值 一定小于 右子树区间整体的值,因此我们可以在 [left+1, right] 区间内使用二分法查找第一个大于根节点值的位置,从而确定右子树的起始位置;:使用递归完成二叉树的构建,在递归函数内需要确定右边界的开始索引,因此可以从根节点的开始往后遍历,找到第一个比它大的元素。举例【前序遍历 + BST】:[2,1,3],[5, 3, 1, 4, 7],[5, 2, 1, 3, 7, 6, 9, 8, 10]。当队列不为空时,取出队列中的节点;

2024-07-09 12:21:03 1128

原创 416. 分割等和子集 和 0-1 背包

dp[i][j] 定义为前。

2024-06-16 00:42:53 931

原创 72.编辑距离

dp[i][j] 表明word1的前 i 个字符转化为word2的前 j 个字符的编辑距离(最少操作次数)。注意:字符串的前 i 或 j 个字符表示取长度为 i 或 j 的大小的子字符串,对应到子字符串中为 [0:: i-1] 或 [0:: j-1] 的区间。

2024-06-14 21:50:01 626

原创 PCA 主成分分析

PCA 主成分分析

2024-06-07 15:52:47 589

原创 论文 GMC: Graph-based Multi-view Clustering

阅读 GMC 文章有感

2024-06-05 14:04:30 756 2

原创 解决报错问题 “index_select_out_cuda_impl“ not implemented for ‘float‘

使用 stanfordnlp 报错 “index_select_out_cuda_impl” not implemented for ‘float’ "。

2024-04-23 20:12:49 593

原创 机器学习-实战:泰坦尼卡号幸存者的预测

编写的软件:jupyter lab编程语言:pythonB站菜菜sklearn机器学习

2022-06-29 08:24:42 374 1

原创 win10 安装下载jupyter lab

在win10环境下,安装jupyhter-lab

2022-06-28 09:22:21 4957 1

reset.css文件.zip

在前端开发,写代码的时候需要清除元素默认的样式,这个文件就排上用场了。直接使用这个,比起使用通配符*,效果更加。

2020-03-01

W3School离线手册(2017.03.11版).zip

W3School离线手册并没有超脱新的版本很多,还很实用。内存不大,内容涉及到HTML/CSS,JAVAScript,Sever Side, ASP.ENT, XML, Web Service, Web Building

2020-02-15

空空如也

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

TA关注的人

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