- 博客(222)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 Hadoop,Hive 数据预处理CR
很明显,意味着.csv中的数据有非utf8编码的,该命令会显示文件的MIME类型和字符编码信息。这将列出HDFS的根目录下所有文件和子目录。记录一次大材小用,我在将.csv电影数据集。命令强转下编码格式,来实现数据的预处理。其实,感觉用Python预处理会好点。猜测可能是特殊格式的问题导致的!命令将本地文件上传到HDFS上。以后起文件名的时候要注意下了!看了眼文件目录,悟了!
2024-03-12 18:09:57
877
1
原创 【Leetcode】 第387场周赛 — 题解
You are given a 1-indexed array of distinct integers of length .You need to distribute all the elements of between two arrays and using operations. In the first operation, append to . In the second operation, append to . Afterwards, in the ith opera
2024-03-04 13:00:21
1248
1
原创 【Leetcode】第 386 场周赛 — 题解
You are given an integer array nums of even length. You have to split the array into two parts and such that:Return if it is possible to split the array, and otherwise.纯粹是一点脑子都没用,装模做样地把一个数组按照题目意思拆成两个,然后判断每个数组是否有重复的。看了灵神的题解,才想到只需要判断每个数出现次数是否超过2!There
2024-03-01 17:22:58
1210
原创 Karnaugh map (卡诺图)
转换为逻辑表达式:根据合并后的卡诺图,将每个合并的区域转换为逻辑表达式。最终的逻辑表达式是由所有合并区域的逻辑表达式组成的。它是通过将逻辑函数的真值表可视化为一个方格图,然后根据特定的规则来识别和合并相邻的真值表项来进行简化的。确定卡诺图的维度:根据逻辑函数的输入变量的数量,确定卡诺图的维度。绘制卡诺图:根据卡诺图的维度,在一个方格图中标出所有可能的输入组合,并将对应的输出值填入每个输入组合的方格中。根据逻辑函数建立真值表:根据逻辑函数的输入和输出,创建一个真值表,列出所有可能的输入组合和相应的输出。
2024-02-17 15:08:32
1169
原创 Hadoop, HIve, Spark关系简述
上写SQL,进行结构化处理的解决方案(类似的方案还有impala,presto等)大数据∈数据管理系统的范畴。:计算框架(基于内存计算)单机数据管理时代下,
2024-01-28 17:02:20
737
原创 【Leetcode】120. Triangle
其中n是容器中的元素个数。如果容器中有多个最小值或最大值,函数只会。是C++标准库中的算法函数,用于查找容器中的。该题为24江南大学851所涉及的DP题型!如果要找到所有的最小值或最大值,可以。
2024-01-27 18:02:27
513
原创 【Leetcode】74. 搜索二维矩阵
向量的开始迭代器和结束迭代器,定义了一个范围,这个范围包含了。假设范围内的元素是已排序的。是 C++ 标准库中的一个算法,用于在排序的范围中。如果所有向量的第一个元素都不大于。如果所有向量的第一个元素都不大于。中的元素(在这里是一个向量)。是一个迭代器(iterator),它指向。小于向量的第一个元素,否则返回。中的“过去最后一个”元素的位置。所以,这行代码的效果就是找到。,这是一个特殊的迭代器,表示。中第一个其第一个元素大于。中第一个其第一个元素大于。函数返回的就是这样一个。的结果将是未定义的。
2024-01-21 11:43:09
1273
原创 《剑指offer》 图专项突破
海洋岛屿地图可以用由01组成的二维数组表示,水平或者竖直方向相连的一组1表示一个岛屿。请计算最大的岛屿的面积(即岛屿中1的数目)。例如,在图15.5中有4个岛屿,其中最大的岛屿的面积为5。图15.5:用01矩阵表示的海洋岛屿地图。地图中有4个岛屿,最大的岛屿的面积为5。
2024-01-09 11:12:14
719
原创 《剑指offer》专项突破
输入两个型整数,求它们除法的商,要求不得使用乘号’‘、除号’‘以及求余符号’'。当发生溢出时返回最大的整数值。假设除数不为。例如,输入和,输出的结果,即。面试题2:二进制加法题目输入两个表示二进制的字符串,请计算它们的和,并以二进制字符串的形式输出。例如输入的二进制字符串分别是""和"",则输出""。面试题3:前n个数字二进制中1的个数题目输入一个非负数,请计算到之间每个数字的二进制表示中的个数,并输出一个数组。例如,输入为,由于的二进制表示的的个数分别为,因此输出数组。解法二解法三面
2024-01-09 10:45:24
1191
原创 【Leetcode】 16. 最接近的三数之和
给你一个长度为n的整数数组nums和 一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这。假定每组输入。20。
2023-12-29 10:22:59
546
原创 【Leetcode】 11. 盛最多水的容器
首尾相中间遍历,每次取长的那一块,然后比较面积,取出最大值。:`O(N),双指针总计最多遍历整个数组。当然可以通过暴搜解决,不过有更好的。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。轴共同构成的容器可以。说明:你不能倾斜容器。
2023-12-28 10:40:19
382
原创 【Leetcode】 72. Edit Distance
函数中,使用大括号括起来的是可迭代对象,如列表、元组、集合等。如果我们要对一个可迭代对象中的元素进行比较,那么就可以使用。函数中,使用大括号括起来的是可迭代对象,如列表、元组、集合等。如果我们要对一个可迭代对象中的元素进行比较,那么就可以使用。表示按照子列表元素之和的大小进行比较,返回元素之和最大的子列表。表示按照子列表元素之和的大小进行比较,返回元素之和最大的子列表。如果要从这个列表中找到元素之和最大的子列表,我们可以使用。如果要从这个列表中找到元素之和最大的子列表,我们可以使用。
2023-11-29 17:02:16
227
原创 【Leetcode】115. Distinct Subsequences
所以,在使用这两种类型时需要注意,如果需要表示负数,应该使用。都是整数类型,但它们有一些区别。如果不需要表示负数,应该使用。,因为它的取值范围比。
2023-11-27 21:13:03
204
原创 【Leetcode】189. 轮转数组
的情况下使用,它们可以避免在操作大型数据集时产生过多的内存开销,同时也可以通过减少内存分配和释放的次数来提高执行效率。在许多情况下,原地算法也可以简化代码并提高可读性。例如,1,2,3,4,5,6,7 如果右移动15次的话,是 7 1 2 3 4 5 6。需要注意的是,本题还有一个小陷阱,题目输入中,如果k大于nums.size了应该怎么办?所以其实就是右移 k % nums.size() 次,即:15 % 7 = 1。很巧妙,通过全面🔪局部反转,从而实现数组右旋!同样的,类似的还有这么一道题!
2023-11-18 16:28:39
243
原创 【Leetcode】 94. 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回 它的 中序 遍历。Morris遍历是一种使用线索二叉树进行遍历的算法,它的。
2023-10-30 18:16:39
186
原创 【Leetcode】 100. 相同的树
(BFS)使用两个队列分别存储两个二叉树的节点,然后逐个比较它们的值以及左右子树是否相同。如果两个节点的值不同或者它们的左右子树的情况不同,就说明这两个二叉树不相同。如果两个队列都为空,说明两个二叉树完全相同。
2023-10-27 10:57:10
183
原创 【Leetcode】200. 岛屿数量
就纯粹的的 BFS 问题而言,个人觉得使用队列(先进先出)存储坐标会比较好点,其中坐标可以是用 pair 函数定义存储。BFS 更多的感觉是在于 栈,队列,数组这类数据结构的使用,组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。岛屿总是被水包围,并且每座岛屿只能由。相比较之 DFS 递归式写法。上相邻的陆地连接形成。
2023-10-27 10:53:16
176
原创 【Leetcode】 213. 打家劫舍 II ?
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,给定一个代表每个房屋存放金额的非负整数数组,计算你。,今晚能够偷窃到的最高金额。
2023-10-23 19:55:19
176
原创 【Leetcode】 707. 设计链表
等为构造函数的参数。在成员初始化器列表中,每一个成员变量的初始化语句使用逗号分隔,每个语句由成员变量名称和初始化表达式组成(也可以使用成员函数返回值进行初始化)。对于没有在初始化器列表中出现的成员变量,它们会使用它们的默认构造函数进行初始化。这样的代码虽然跟使用成员初始化器列表的代码基本相同,但是在代码实际执行的时候,由于需要对成员变量进行多次赋值,所以效率会低一些。C++11引入了新的成员初始化器列表语法,可以更方便地初始化成员变量。使用该语法的构造函数的函数体之前,必须有一个成员初始化器列表,用冒号。
2023-10-18 15:48:43
197
原创 【Leetcode】 416. 分割等和子集
只不过特殊的是,背包问题中的重量和价格保持了一致,这里。请你判断是否可以将这个数组分割成两个子集,使得。一边听完显然是不够的,三连了!给你一个 只包含正整数 的。抽空需要温故而知新!
2023-10-17 15:15:06
145
原创 【Leetcode】 96. 不同的二叉搜索树
互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的。同时,如果不初始化dp[1],该代码也是可以AC的!的二叉搜索树数量时,会出现错误。这是因为在计算二叉搜索树的数量时,当节点数为。时,只有一个节点,无法构成二叉搜索树。的二叉搜索树数量时,需要遍历所有可能的。,可以避免这个问题,同时也方便了计算。时,只有一种情况,即空树。的二叉搜索树数量时,需要使用。个节点组成且节点值从。,那么在计算节点数为。,那么在计算节点数为。
2023-10-16 15:38:35
190
原创 【Leetcode】 738. 单调递增的数字
如果字符串无法转换为整型,则会抛出。当且仅当每个相邻位数上的数字。的最大数字,且数字呈。时,我们称这个整数是。输出结果与上例相同。输出结果与上例相同。
2023-10-13 18:04:33
278
原创 【Leetcode】 406. 根据身高重建队列
数组在插入的过程中,如果插入的元素大于预先普通数组的大小,底层会实现一个扩容的操作,申请两倍于原先普通数组的大小空间,然后将原先数组上的数据拷贝到扩容的数组上!还有其他一些操作,如清空list、获取list的大小等,可以查看list的官方文档进行学习。迭代器(从大佬AC代码种学到的,不喜勿喷),让我有一种在学java时,遇到的。容器有不同的迭代器类型,需要根据具体容器的类型来定义对应的迭代器类型。需要注意的是,不同类型的容器可能会定义不同类型的迭代器,例如,函数用于返回迭代器,指向容器的开始和结束位置。
2023-10-12 15:52:48
167
原创 【Leetcode】 51. N 皇后
已经不是第一次遇到 N 皇后问题了,依稀记得三年前的暑假,刚接触 c++的自己,看着 N 皇后别人 AC 掉的代码,天书一般,留下的知识满眼的钦佩!事实上,现在看来,N 皇后问题相比其他的回溯算法题,hard点在于它使用的是二维数组,回溯的思路是不变的!以上是哈希表的四种常见用法,需要根据具体业务场景选择相应的容器。的棋盘上,并且使皇后彼此之间不能相互攻击。按照国际象棋的规则,皇后可以攻击与之处在。皇后问题 的棋子放置方案,该方案中。皇后问题存在两个不同的解法。皇后问题 的解决方案。
2023-10-08 22:20:31
457
1
原创 【Leetcode】 131. 分割回文串
----------- 诸君,共勉!---------------分割成一些子串,使每个子串都是。是正着读和反着读都一样的字符串。第一次提交的时候,出现了没使用。浪费的空间资源以及其底层逻辑?有没有大佬帮忙解释下,不使用。所有可能的分割方案。仅由小写英文字母组成。引用类型,但是通过了?
2023-10-03 17:14:45
275
原创 【Leetcode】 450. 删除二叉搜索树中的节点
对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。:给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。判断了待删除节点的右孩子是否为空。将待删除节点的值替换为其右子树中最小节点的值,然后。分别递归处理了待删除节点的左孩子和右孩子。这样可以保证删除后的树仍然是一棵二叉搜索树。,从而将其作为删除后的根节点的孩子。给定一个二叉搜索树的根节点。对于第一种情况,代码中的。对于第二种情况,代码中的。,删除二叉搜索树中的。: 二叉树不包含值为。
2023-09-30 16:53:46
330
原创 【Leetcode】 501. 二叉搜索树中的众数
你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按。给你一个含重复值的二叉搜索树(树中节点的数目在范围。
2023-09-29 15:55:00
271
原创 【Leetcode】29. 两数相除
其基本思想是将整数按位拆分成较小的部分,然后在乘法运算中通过组合这些部分来得到结果。其基本思想是将整数按位拆分成较小的部分,然后在乘法运算中通过组合这些部分来得到结果。相比传统的暴力乘法算法,快速乘法可以极大地加速乘法运算,尤其是在需要处理大数乘法时,效果更为明显。相比传统的暴力乘法算法,快速乘法可以极大地加速乘法运算,尤其是在需要处理大数乘法时,效果更为明显。相比传统的暴力幂算法,快速幂可以大幅度降低计算次数,从而提高幂运算的效率。,从而提高幂运算的效率。的乘法问题和一些小规模的加法和移位问题。
2023-06-19 09:42:12
748
原创 【Leetcode】4. 寻找两个正序数组的中位数
算法是一种排序算法,通过将两个已经排序的数组合并,将它们组成一个更大的已排序数组。归并排序采用分治策略:将数组分成两半,分别对每个子数组进行排序,然后将两个已排序的子数组合并为一个已排序的数组。是将待排序的序列分成若干个子序列,每个子序列都是有序的,然后再把有序子序列合并为整体有序序列。归并排序算法的核心是。对两个子数组进行合并排序(即将两个有序的子数组合并成一个有序的大数组)。将待排序数组分成两个子数组,直到子数组大小为1。重复步骤2,直到合并成一个有序的数组。
2023-06-18 16:04:09
817
原创 【Leetcode】 278. 第一个错误的版本
程序返回目标元素在数组中的下标,如果目标元素不存在,则返回。通过计算中间位置的下标,找出中间元素,然后与目标元素进行比较。如果中间元素大于目标元素,则新的查找范围在数组左半部分。如果中间元素小于目标元素,则新的查找范围在数组右半部分。重复2-5步骤,直到找到目标元素或者数组被搜索完毕。确定二分的初始范围,一般是整个数组范围。如果中间元素等于目标元素,则查找结束。
2023-06-18 14:47:52
625
原创 【Leetcode】 13. 罗马数字转整数
上面定义了一个unordered_map,键为string类型,值为int类型。函数判断元素是否存在,如果该键存在,则返回该键对应的迭代器,否则返回。运算符访问元素,如果该键不存在,则会自动插入一个默认值。使用迭代器遍历元素,其中。
2023-06-16 08:56:00
465
原创 【Leetcode】 1137. 第 N 个泰波那契数
方法二,事实上能用数学知识优化的代码效率更高效,只可惜,鄙人学完了线性代数还是没有想到!显然,题解给出的滑动窗口更好!
2023-06-15 21:07:44
107
原创 【Leetcode】 1071. 字符串的最大公因子
函数,传入两个参数,返回值即为这两个数的最大公约数。函数用于获取字符串的子字符串。函数用于获取字符串的子字符串。或更高版本,否则编译器可能会报错。STL中的函数,用于求两个数的。中的函数,因此需要编译时加上参数。中,首先计算出两个字符串的长度。很夸张,用时 0ms!函数,用于判断一个字符串。的因子,如果是,则返回。此外,官方题解中有一种。,否则返回空字符串。首先需要包含头文件。
2023-06-12 11:01:32
445
原创 【Leetcode】 1013. 将数组分成和相等的三个部分
这段代码的主要作用是关闭输入输出流的同步,从而加速输入输出的速度。从第一个部分的结束位置的下一个元素开始遍历,累加元素的值,如果累加和等于 target 的两倍,说明找到了第二个部分的结束位置。首先计算整个数组的和 s,如果 s 不能被 3 整除,那么无法分成三个和相等的部分,直接返回 false。从数组的第一个元素开始遍历,累加元素的值,如果累加和等于 target,就说明找到了第一个部分的结束位置。如果遍历完整个数组都没有找到第二个部分的结束位置,那么无法分成三个和相等的部分,返回 false。
2023-06-10 18:12:02
754
原创 【Leetcode】 1009. 十进制整数的反码
按位或(|)操作是对两个二进制数进行位运算,只要两个二进制数对应位其中一个为1时,结果就为1,否则为0。按位或(|)操作是对两个二进制数进行位运算,只要两个二进制数对应位其中一个为1时,结果就为1,否则为0。按位与操作是对两个二进制数进行位运算,只有当两个二进制数对应位都为1时,结果才为1,否则为0。使用按位或操作时,将需要设置的位数设为1,其余位数设为0,即可实现位的设置。使用按位或操作时,将需要设置的位数设为1,其余位数设为0,即可实现位的设置。
2023-06-09 19:36:37
876
原创 【Leetcode】1002. 查找共用字符
在上面的例子中,定义了两个构造函数,用于构造Person类型的元素。与push_back相比,emplace_back可以直接在容器中构造新元素,而不是通过对象的拷贝或移动构造函数构造新元素,从而提高了性能。如果需要添加自定义类型的元素,则需要在类中定义对应的构造函数和移动构造函数,以便emplace_back能够正确地构造新元素。如果需要添加自定义类型的元素,则需要在类中定义对应的构造函数和移动构造函数,以便emplace_back能够正确地构造新元素。参数指定了要填充的元素范围,
2023-06-06 16:43:08
396
利用c++的stack容器实现算符优先法进行表达式求值.docx
2021-10-26
单词表的排序 代码错哪里了?
2021-06-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人