上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要: class Solution { public: bool canFinish(int numCourses, vector>& prerequisites) { //验证是否为DAG,每次验证指向的是否已经存在于当前图中 //建图 vector indegree(numCourses,0);//入度 ... 阅读全文
posted @ 2019-06-24 17:43 Joel_Wang 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 第一选择是将其转化成图用动态规划,但这样还是太麻烦 使用递归的思路,对于当前的节点root,分别求左右孩子到当前节点的单项路径权值最大的路径权值,然后记包含当前节点的路径权值为 path_price=root->val+left_gain+right_gain,取sum_max和他较大的; 返回左右 阅读全文
posted @ 2019-06-24 15:29 Joel_Wang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: C++版 数组和字符串 正文 链表: 正文 树与图: 树: leetcode236. 二叉树的最近公共祖先 递归(先序) leetcode124二叉树最大路径和 递归 图: leetcode 547朋友圈(DFS,并查集) leetcode 207课程表(拓扑排序) leetcode 315 计算右 阅读全文
posted @ 2019-06-24 14:40 Joel_Wang 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 直接层序遍历,结果有部分测试样例超时; 究其原因,是因为距离计算每次都要调用函数过于复杂,由于两两单词间计算距离,并且计算距离时又需要对每个字母进行遍历,因此timeO(n^2*m) 改变距离的计算,对其做预处理,列出每个单词的状态,比如hog 可列为 *og,h*g,ho*;通过临接表来表示,即一 阅读全文
posted @ 2019-06-19 18:59 Joel_Wang 阅读(191) 评论(0) 推荐(0) 编辑
摘要: C++采用哈希表,时间复杂度O(n),空间复杂度O(n)空间复杂度应该可以降低; 阅读全文
posted @ 2019-06-19 11:38 Joel_Wang 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 与83类似,不过需要注意去除连续的重复片段的情况,如2 2 3 3这种情况,以及【1,1】这种情况下最终的cur为NULL,因此不能再令cur=cur->next; 阅读全文
posted @ 2019-06-13 16:59 Joel_Wang 阅读(276) 评论(0) 推荐(0) 编辑
摘要: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* ... 阅读全文
posted @ 2019-06-13 16:48 Joel_Wang 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 优先队列容器,使用小顶堆排序;timeO(nlogn) spaceO(n) 阅读全文
posted @ 2019-06-13 16:35 Joel_Wang 阅读(173) 评论(0) 推荐(0) 编辑
摘要: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode... 阅读全文
posted @ 2019-06-13 16:04 Joel_Wang 阅读(104) 评论(0) 推荐(0) 编辑
摘要: time O(n) spaceO(n) 的方法: 还是借助哈希表,所有字母初始化为0,将t中出现的所有字母次数全都记录在哈希表里; 采用双指针,分别为一个头指针head,和尾指针tail。flag记录当前[head,tail)没有出现的字母的个数; 1. flag不为0时,更改s[tail]的哈希值 阅读全文
posted @ 2019-06-13 11:09 Joel_Wang 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页