妄想者
妄想者
全部文章
分类
归档
标签
去牛客网
登录
/
注册
妄想者的博客
全部文章
(共20篇)
题解 | #调整牛群顺序#
解题思路: // 先获取链表的尾部,再找到链表的倒数第n个节点,并且获取它的前一个节点。 // 1,利用前一个节点跳过该倒数第n个节点,也就是说删除该倒数第n个节点。 // 2,把该倒数第n个节点接到链表的尾部节点后。 /** * struct ListN...
2023-09-19
0
387
题解 | #牛群排列去重#
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { // 这里因为算法时间要求,用的是暴力解法,用的是双指针。 // 保持慢指针每移动一步,快指针从慢指针的下一个一直移动到...
2023-09-18
0
293
题解 | #删除链表峰值#
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 ...
2023-09-17
0
295
题解 | #【模板】哈夫曼编码#
解题思路:输入字符种数n和每种字符的出现次数ai。使用最小堆pq来保存每种字符的出现次数,以便每次能够从堆中取出两个出现次数最少的字符。不断从堆中取出两个最小的节点,合并它们为一个新节点,其出现次数为两者之和,并将新节点放回堆中。重复步骤3,直到堆中只剩下一个节点,即哈夫曼树的根节点。遍历哈夫曼树,...
2023-09-02
1
339
题解 | #活动安排#
说是贪心,我更愿称其为动态规划吧 #include <algorithm> #include<iostream> #include <utility> #include <vector> using namespace std; bool comp...
2023-08-29
1
389
题解 | #排序#
思路:1、选出一个key,一般是最左边或是最右边的。2、定义一个begin和一个end,begin从左向右走,end从右向左走。(需要注意的是:若选择最左边的数据作为key,则需要end先走;若选择最右边的数据作为key,则需要bengin先走)。3、在走的过程中,若end遇到小于key的数,则停下...
2023-08-19
0
337
题解 | #快速幂#
#include<iostream> using namespace std; /* 3^10=3*3*3*3*3*3*3*3*3*3 //尽量想办法把指数变小来,这里的指数为10 3^10=(3*3)*(3*3)*(3*3)*(3*3)*(3*3) 3^10=(3*3)^5 ...
2023-08-17
0
282
题解 | #循环汉诺塔#
#include<iostream> #include<vector> using namespace std; // 以下是@Muuuuuuu的解题思想,仅做借鉴学习***************** //根据题目规定,易知该情况下,只有底部,没有顶部,从A移动到B需要1...
2023-08-16
1
343
题解 | #ranko的手表#
这个题目确实是把我写吐了,原因在于最小距离上,反正经过所写的代码能够正确的把最大时间和最小时间搞好,就是最小距离没有办法了,个人觉得这个最小距离的测试集有问题(其他解题僧也这么觉得的),最后做了一个菜狗才做的事情,为了通过测试集而强行增加了条件语句来针对测试case,也不纠结这这题目了。然后想问问大...
2023-08-13
0
306
题解 | #走迷宫#
#include<iostream> #include <queue> #include<vector> // 整体思路是每走一步,计算一步路径数目 using namespace std; // 参数的输入:x,y均需要做减一操作 void BFS(vect...
2023-08-09
0
292
首页
上一页
1
2
下一页
末页