自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录 刷题记录-8 二叉树(2)习题

本题要实现的算法是计算完全二叉树的结点个数,根据上图分析,如果一个完全二叉树不是满二叉树,那它的左右子树必然是满二叉树和完全二叉树,或都是满二叉树;其为完全二叉树的子树也可以按照同样的逻辑去处理这个问题,也就是说解决原问题的算法和子问题的算法是一致的,可以考虑递归实现。同上,从回溯的角度来理解,求最大深度就是做dfs,子问题和原问题的解决方案是一致的,可以使用回溯/递归的方法解决。然后是递归和回溯的过程,上面说过没有判断cur是否为空,那么在这里递归的时候,如果为空就不进行下一层递归了。

2024-08-15 23:30:00 325

原创 代码随想录 刷题记录-7 二叉树(1)基本概念及操作篇

一、理论基础1.二叉树的种类。

2024-08-14 23:30:00 896

原创 代码随想录-6 刷题记录 栈与队列

如果使用大顶堆,则需要维护所有元素到堆中。

2024-08-12 23:30:00 1181

原创 代码随想录-5 双指针法 刷题记录

双指针法并不隶属于某一种数据结构,我们在讲解数组,链表,字符串都用到了双指针法,所有有必要针对双指针法做一个总结。本文中一共介绍了leetcode上九道使用双指针解决问题的经典题目,除了链表一些题目一定要使用双指针,其他题目都是使用双指针来提高效率,一般是将O(n^2)的时间复杂度,降为 $O(n)$

2024-08-11 23:30:00 1104

原创 代码随想录-3 哈希表 刷题记录

总结一下,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!二、题目1.242有效的字母异位词关注其中的哈希思想,判断一个元素是否出现过,出现过次数的场景,第一时间想到哈希法。i++){=0)

2024-08-10 23:30:00 705

原创 代码随想录-4 字符串 刷题记录

next数组就是一个前缀表(prefix table)。前缀表有什么作用呢?前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。(如果不使用前缀表,则是暴力解法,当模式串中间的某个字母不匹配时,模式串回退到开头,主串回退对应个数字母,主串向后挪一个继续尝试匹配。但是使用前缀表,就可以让主串在不回退的情况下找到模式串应当回退的位置,即最长公共前后缀前缀表是如何记录的呢?

2024-08-09 23:30:00 1513

原创 代码随想录-2 链表 刷题记录

(2)链表的存储方式:链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。(1)在纸上画出链表具体情况,根据题意确定操作顺序,从而确定一次迭代的操作中的顺序,以及需要的tmp结点。,n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。因为要找环形的入口,那么要求的是x,因为x表示 头结点到 环形入口节点的的距离。数组长度一经定义,就是固定的,支持随机访问。链表的长度可以不固定,支持动态增删,适用于增删频繁,查询少的场景。

2024-08-05 23:06:01 518

原创 代码随想录-1 数组 刷题记录

关于二分查找,一个要明晰的核心点是,我们正在查找的范围,是不能够确定的范围。滑动窗口也是双指针应用的一种,关注的范围是两个指针之间,意图调节两个指针调节子序列的长度,解决与子序列有关的问题。如果,我们想统计,在vec数组上 下标 2 到下标 5 之间的累加和,那用 p[5] - p[1] 就可以了。理解了这一点,就能够明白在在左闭右闭区间,以及左闭右开区间,两种方式迭代过程中,mid的值该如何变化。双指针往往能够降低一层的时间复杂度,这是因为双指针利用两个指针,在一层循环同时做了两件事情。

2024-08-04 23:42:37 342

原创 intel oneAPI jupyterlab 异构计算实验

接下来我们逐一分析这些关键点:1.矩阵初始化这里我们使用库生成随机数并填充矩阵;并进行相应措施确保程序能够处理大量数据2. 缓冲区和访问器的使用这里的难点在于创建和管理SYCL缓冲区,正确使用访问器来读写缓冲区中的数据。这段代码创建了一个二维缓冲区bufferA,用于存储矩阵A的数据。类似地,我们也可以按照相同方式为矩阵B和C创建缓冲区。这些缓冲区将在SYCL设备上使用。3. 编写SYCL Kernel进行矩阵乘法。

2023-11-13 23:54:14 107 2

空空如也

空空如也

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

TA关注的人

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