LeetCode刷题专栏
文章平均质量分 67
记录LeetCode的刷题过程
嶔某
再上坡!
展开
-
LeetCode_(兜兜转转还是你)浪漫的环形链表问题
所以我们一定会再次相遇……就算我们错过了,亲爱的,我们还会遇见的……原创 2024-04-29 01:52:01 · 960 阅读 · 33 评论 -
LeetCode_栈和队列(Stacks & queues)相关OJ
将mystack结构体里面创建两个队列q1、q2。创建两个栈st1、st2一个int*指针、一个head、一个tail、一个k表示队列容量。原创 2024-05-13 20:02:56 · 873 阅读 · 21 评论 -
LeetCode_链表的回文结构
以前做过类似的题《快慢指针》。快指针一次走两步,慢指针一次走一步。最终慢指针会停在中间节点处。原创 2024-04-24 13:17:13 · 819 阅读 · 37 评论 -
Leetcode_相交链表
让A链表从头遍历,当pA为空时,pA = headB;B链表从头遍历,当pB为空时,pB= headA。让每个链表都走完两个链表的路程,最后它们一定会在相交节点处相遇原创 2024-04-24 12:39:46 · 710 阅读 · 9 评论 -
LeetCode_1304.和为零的 N 个不同整数
将arr[left]和arr[right]分别赋上相反的数,将left++,right--。以left原创 2024-04-16 09:19:59 · 323 阅读 · 5 评论 -
LeetCode_丑数
由题,我们知道丑数大于0,丑数都可以写成2*2*...*2*3*3...*3*5*5...*5,有了这个基础就很好写代码了。用三个while循环将前面的2 3 5全部除掉如果这个数是丑数,最后n是等于1的,反之n不等于1。原创 2024-04-15 18:27:06 · 303 阅读 · 2 评论 -
LeetCode_从数量最多的堆取走礼物[2558]
我们可以用一个函数sqrt来实现,在VS中包含math.h头文件就可以使用此函数了。之后我们要得出数组中最大值的下标,定义一个max=0,用for循环遍历数组,如果数组里面的数大于max,将这个数赋给max、并且记录下标。for循环完成后我们就可以得到最大数的下标了。先说说我自己的解法。看到题目描述我就觉得要用递归,我们可以先来一个if语句界定终止递归的条件,就是k==0的时候。我们把这时候gifts指针指向的数组求和并返回。官方解法是用的堆,这里我还没学到,等我学到后面再来更新把。原创 2024-04-07 00:21:39 · 362 阅读 · 1 评论 -
LeetCode_[NOIP2015]金币
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。请计算在前K天里,骑士一共获得了多少金币。原创 2024-02-24 16:57:00 · 352 阅读 · 0 评论 -
LeetCode_回文对称数
每次num都被除10,而每次循环tmp都要乘10并且加上num模上10,当最后一次num/10=0,循环结束。仔细一看好家伙x的范围是-2的31次方减1到-2的31次方减1,int 类型满足不了它了那就用long。返回的不是bool类型吗?那就不用if else了,直接return x==tmp;朋友们平时在刷题写代码的时候一定要去寻找最优解,不断的否定再改正,提升自己的思维。但是还不够简短啊,还有什么可以优化的地方呢?要判断一个数是不是回文数就把它。哦~~~~~~~~~~~~~看是否和原来的数相等。原创 2024-02-24 16:43:12 · 467 阅读 · 0 评论 -
LeetCode_只出现一次的数字ⅠⅡⅢ(找单身狗)
这道题我用了两种方法。第一种是将原来的数组消重后相加乘三减去消重之前数组的和,之后返回结果的二分之一。这道题的重点是把只出现一次的两个数分开,之后再去异或,得到两个结果存到数组里面。第二种方法相当于是把二进制变为三进制,模上三不为0的就是结果。这道题只需要把所有数异或起来就行了。原创 2024-03-04 13:09:35 · 574 阅读 · 0 评论