数据结构和算法
文章平均质量分 57
可爱组长
这个作者很懒,什么都没留下…
展开
-
window 安装scala
安装scala官网下载环境变量的配置安装之前先确保安装了jdk1.8官网下载官网地址github下载地址https://github.com/lampepfl/dotty/releases/tag/3.1.2这边选用的版本是3.1.2环境变量的配置添加 SCALA_HOME 变量PATH 中添加在cmd 中输入: scala...原创 2022-05-07 09:59:35 · 277 阅读 · 0 评论 -
leetcode-算法-1710. 卡车上的最大单元数
1710. 卡车上的最大单元数算法要求算法思路代码实现算法要求1710. 卡车上的最大单元数请你将一些箱子装在 一辆卡车 上。给你一个二维数组 boxTypes ,其中 boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi] :numberOfBoxesi 是类型 i 的箱子的数量。numberOfUnitsPerBoxi 是类型 i 每个箱子可以装载的单元数量。整数 truckSize 表示卡车上可以装载 箱子 的 最大数量 。只要箱子数量不原创 2022-01-28 10:23:36 · 420 阅读 · 0 评论 -
每日刷题-leetcode- 74. 搜索二维矩阵
74. 搜索二维矩阵题目要求思路代码实现题目要求编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target =原创 2021-03-30 11:15:32 · 113 阅读 · 0 评论 -
每日刷题-leetcode-98. 验证二叉搜索树
98. 验证二叉搜索树题目要求思路代码实现题目要求给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,n原创 2021-03-29 16:08:48 · 132 阅读 · 0 评论 -
每日刷题-leetcode-82. 删除排序链表中的重复元素 II
leetcode-82. 删除排序链表中的重复元素 II题目要求思路:过程代码实现题目要求存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。返回同样按升序排列的结果链表。示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2:输入:head = [1,1,1,2,3]输出:[2,3]思路:1:遍历链表,统计重复元素的个数,删除,2:假设案例1:原创 2021-03-25 11:26:43 · 182 阅读 · 0 评论 -
每日刷题-leetcode-1047. 删除字符串中的所有相邻重复项
@toc题目1047. 删除字符串中的所有相邻重复项给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重原创 2021-03-09 11:45:30 · 257 阅读 · 0 评论 -
每日刷题-leetcode-232. 用栈实现队列
232. 用栈实现队列题目要求分析方法1 模拟2规律3 匹配4 边界代码实现题目要求232. 用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明:原创 2021-03-05 14:31:53 · 298 阅读 · 2 评论 -
每日刷题-leetcode-338. 比特位计数
338. 比特位计数算法题目算法思路1模拟2规律3匹配4边界条件算法实现1优化思路算法题目338. 比特位计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂原创 2021-03-03 10:59:47 · 341 阅读 · 0 评论 -
二分查找算法的四种变形题型
二分查找算法的四种变形题型查找第一个值等于给定值的元素查找最后一个值等于给定值的元素查找第一个大于等于给定值的元素查找最后一个小于等于给定值的元素算法实现之前,我们了解了二分查找的基本算法情况,如果有小伙伴不是特别清楚的话,可以查看之前的文章二分查找算法现在讨论的也就是二分查找的变种题型在此,我先给出测试的案例,然后简单分析不同的变种题型需要注意的点,我们测试的数组,是基于有序的数组进行测试的。原数组是nums[] = [1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 6, 6, 9,原创 2020-08-25 15:35:00 · 607 阅读 · 0 评论 -
二分查找算法(递归以及while)
二分查找算法二分查找算法描述算法实现while 以及 递归 实现算法时间复杂度分析算法的应用场景1:有序数组2:数据量适中二分查找在工作中,很多小伙伴应该会遇到这样的需求,在有序的数组中查找指定元素,比如数组 nums = [1, 3, 5, 7, 8, 11, 19, 23, 27, 33, 45, 55, 67, 98] 中查找 目标数据 8,如果找到就返回该目标数据在数组中的下标索引的位置。算法描述二分查找的思想也比较简单,判断数组中的中间元素和目标数据进行比较,如果相等,也就返回数组中的中原创 2020-08-25 11:50:11 · 757 阅读 · 2 评论