大厂算法岗必拿下
大厂算法岗必拿下
全部文章
题解
归档
标签
去牛客网
登录
/
注册
大厂算法岗必拿下的博客
欢迎一起学习~
全部文章
/ 题解
(共212篇)
题解 | #删除有序链表中重复的元素-II#
来自专栏
注意创建一个node 注意cur->next = cur->next->next的妙用,使得cur->next有不同的意义。 注意pre和head都可以维护这个新链表 /** * struct ListNode { * int val; * struct ...
2021-08-18
0
424
题解 | #买卖股票的最好时机#
来自专栏
动态规划做,在做之前,序列型问题,一般是双数组。 一定以给出的数组开始分条件讨论,这样讨论完了其实代码就写出来乐。、 计算顺序,最后结果是哪一个。 写df一般,对于dfi是指的是这一天,数组一般【i-1】,写的时候复原就好,你就知道是这一天的数组中的数就行 并且买卖股票是同一天两个状态一直进行的。...
2021-08-18
0
429
题解 | #最长无重复子数组#
来自专栏
建立一个左开看,右闭得滑动窗口。 注意if 未必要和else链接,有的时候满足一个条件,窗口大小会突变。 应用map做这个题是最好的选择。 注意刚开始的返回条件,对于不同的题是不一致的。比如这个直接返回size() class Solution { public: /** * ...
2021-08-18
0
464
题解 | #大数加法#
来自专栏
这个题和链表和是一致的 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @para...
2021-08-18
0
479
题解 | #表达式求值#
来自专栏
注意各个细节。 下一个运算符放入之前进行计算。 左括号进入栈,作为将来运算停止的表示符号。遇到右括号时就会弹出。 刚开始有可能是负数,那么刚开始push入0. (-, (+的情况改为(0- (0+ 遇到优先级不够就不要去算,放进去,将来从上往下算就是相当于优先计算。 最后退出的时候要看看operat...
2021-08-17
0
355
题解 | #kmp算法#
来自专栏
KMP: 注意 next[0] = -1 是给外部排序第一个不想等的时候用的。 KMP PATTERTRN = 0, CUR =0 ; PATTERN 和 模板大小一样的话(从0开始索引),就证明找到了一个,然后放入next从下一个开始匹配下一个。 Next 中 pre 从 -1 开始,cur要从0...
2021-08-17
1
809
题解 | #单链表的排序#
来自专栏
注意快慢指针找中点。 记住默认结尾是NULL,所以不需要给右端点。 至于前面这一节的右端点,找出中点之后,mid->next = NULL即可。因为新数组会以一个新的head连接起来。所以head->next == NULL是返回条件 /** * struct ListNode { ...
2021-08-17
0
450
题解 | #两个链表生成相加链表#
来自专栏
注意个位,sum - 10。 注意进位 1,注意头插法,由于头插法是反的,所以push的时候用队列。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex...
2021-08-17
0
384
题解 | #二叉树的最大深度#
来自专栏
注意分为两种情况,一种是刚开始就删到头的情况,一种是删的不是头的情况。 /** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** ...
2021-08-17
0
405
题解 | #判断回文#
来自专栏
只需要判断一半就行,且奇数个当成偶数个判断,因为中间的一个奇数不需要考虑 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 ...
2021-08-16
0
379
首页
上一页
13
14
15
16
17
18
19
20
21
22
下一页
末页