自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 924尽量减少恶意软件的传播

先回顾一下广度优先搜索 下面的是二叉树的广度优先搜索 而题目类似于图论的广度优先搜索。本题采用广度优先搜索的方法。

2024-04-16 20:05:31 188

原创 706设计Hash映射

采用链地址发每个hash槽都有一个链表。

2024-04-15 07:11:01 509

原创 leetcode705设计哈希集合

首先我在list和set的remove方法上遇到了困难没分清 list是根据索引值删除而set是根据元素删除。虽然不好也实现了这个功能。

2024-04-14 17:18:29 260

原创 leetcode114二叉树展开为链表

用递归法 需要注意的是要提前保存好节点的左右孩子 因为要对它们进行操作。思路按照前序遍历决定代码结构。

2024-01-19 11:24:27 321

原创 2171拿出最小的魔法豆

先算出总量然后看假设每个袋子的数量是最后拿完的数量算出每次要拿多少球 比较得出最小值。一旦把魔法豆从袋子中取出,你不能再将它放到任何袋子中。,其中每个整数表示一个袋子里装的魔法豆的数目。魔法豆的袋子)魔法豆的数目。请返回你需要拿出魔法豆的。

2024-01-18 16:29:12 338 1

原创 leetcode771宝石和石头

中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。思路:双层for循环暴力解,出乎意料的是居然时间很快,但他是O(n^2)啊。代表石头中宝石的类型,另有一个字符串。字母区分大小写,因此。

2023-12-05 16:14:30 314 1

原创 leetcode26删除数组中的重复项

双指针法:思路很简单,这里解释一下为什么两个都从1开始,我一开始想从0开始但是发现fast-1=-1不行,因此就需要都换成1,其实思考一下第0索引就一个元素,不可能自己和自己重复,从1开始就可以。// 长度正确的期望答案。如果所有断言都通过,那么您的题解将被。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2023-12-04 16:52:16 429

原创 leetcode344. 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。思路:题目要求原地改数组,所以我觉得思路很直接就想到双指针。、使用 O(1) 的额外空间解决这一问题。击败100.00%使用 Java 的用户。不要给另外的数组分配额外的空间,你必须。击败5.02%使用 Java 的用户。

2023-12-01 12:08:08 329 1

原创 leetcode21. 合并两个有序链表

新链表是通过拼接给定的两个链表的所有节点组成的。思路:双指针,核心:谁小谁往下走。将两个升序链表合并为一个新的。

2023-11-30 16:54:45 381

原创 leetcode56合并区间

判断如果俩个区间之间的关系是,a右边比b左边小或者(这是正常顺序) a左边比右边大(出现这种原因是在添加过程中小的区间放在了数组后面) ,则不能合并,其他情况取ab左边界的最小值和有边界的最大值,构成新的区间,由于内存原因,移除原来的俩个区间.区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。暴力法:时间821ms内存43.43MB.非常极限。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。

2023-11-29 14:51:57 333 1

原创 leecode441排序硬币

我们最需要注意的就是防止数太大导致int不够用 因此变量先用long 最后再转 mid那样算也是防止越界。二分查找 k一定在1到n之间 我们找最靠近n的那个点。枚硬币,并计划将它们按阶梯状排列。数学巧妙方法 :(二元一次方程求解)第一种数学暴力方法:超时。

2023-11-28 09:18:54 456

原创 leetcode905. 按奇偶排序数组

4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。思路:遍历数组并且弄两个指针记录位置 ,奇数从后往前放,偶数从前往后放。中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。

2023-11-27 11:58:34 367 1

原创 【无标题】

此时执行compare(1,2)<0和compare(2,3)>0可以得出两个都为true。思路 随便选一个位置,然后不断比较,直到走到最大的位置,最大的位置即为答案。,找到峰值元素并返回其索引。第一种暴力法:(虽然通过了但是我觉得不对因为题目要求时间复杂度为。这个没想到因为我觉得一般的logn的是堆树那种。下一个compare不需要开始了 (&&短路)峰值元素是指其值严格大于左右相邻值的元素。此时num1[1]>num2[1] 返回1。首先执行compare(2,3)进入if-else语句。

2023-11-24 17:26:38 494 1

原创 leetcode66

思路:如果数字不出现进位情况,只需把最后一个数字拿出来+1,返回新数组。如果出现进位情况,那么数组长度需要加1,最后一位变成0,第一位变成1。最高位数字存放在数组的首位, 数组中每个元素只存储。你可以假设除了整数 0 之外,这个整数不会以零开头。数组所表示的非负整数,在该数的基础上加一。

2023-11-23 12:21:55 14

原创 leetcode169

第一种hashmap方法计数,由于我自己对hashmap的遍历不太熟悉,多写了几种遍历方式不过都一样。第二种方法 排序法 因为最多的元素大于n/2 所以排序过后中间元素一定是最多的数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。

2023-11-22 14:16:41 14 1

原创 leetcode217

和昨天一样的思路试试hashset因为它本身去重,很简单。如果数组中每个元素互不相同,返回。如果任一值在数组中出现。

2023-11-21 09:19:42 20

原创 leetcode268丢失的数字

第二种:hashset 因为hashset有一个containskey方法很符合我们的需求可以使用,思路很简单。简单暴力想法:无需多言上代码,先来个大排序,不过有一点你要防止数组索引越界在开始的时候要加个if。这个范围内没有出现在数组中的那个数。

2023-11-20 14:32:23 21 1

原创 leetcode1046

每一轮都来一个排序,最后面两个一定是最大的两个,让他们两个相减相当于粉碎,然后用一个指针n记录位置,没次循环左移一格 相当于最右边的数字已失效。第一轮:1 1 2 4 7 8 ->1 1 2 4 1 || 8。第二轮:1 1 1 2 4 8->1 1 1 2 || 4 8。第三轮:1 1 1 2 4 8->1 1 1 || 2 4 8。测试用例:stones=[2,7,4,1,8,1]时间0ms,内存37.72mb。

2023-11-17 13:00:01 20

原创 leetcode0

思路:开始搞边界条件 看题目第二点的注意条件,先判断ab的符号,最相同的话比较简单直接返回结果,如果不同的话返回负的结果。因为负数范围大一点可以转化为负数的 尝试一下。全都转化为正数 但是通过不了。

2023-11-16 12:52:59 20 1

原创 leetcode136

其中恰好有两个元素只出现一次,其余所有元素均出现两次。找出只出现一次的那两个元素。,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。思路:以前学过左神的算法课,讲过位运算,一下子就想到了。扩充:leetcode260(这个是一起学的)

2023-11-15 11:18:31 23

原创 【无标题】leetcode 反转链表

请你反转链表,并返回反转后的链表。

2023-11-15 10:47:45 17

原创 【无标题】

思路:开始感觉贼简单 然后发现超时,然后意识到不能用双重for循环他的时间复杂度为O(n^2)返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。然后换了个方法就ok了 用一次for循环。时间1ms 内存56.33mb。买入这只股票,并选择在。

2023-11-14 12:22:54 22 1

原创 【无标题】

(这个开始不会写,然后搜题解,看了一个SegementTree的方法,搜了搜B站【【数据结构】线段树(Segment Tree)】https://www.bilibili.com/video/BV1cb411t7AM?vd_source=7bb39de4d4811e58c4ce533810e765ef 学了学现在明白点了 写上了),请你完成两类查询。

2023-11-13 17:58:53 23

原创 汇总区间1

int j;j = i;j++;if(i==j){else{

2023-11-13 13:13:07 16

空空如也

空空如也

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

TA关注的人

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