上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 解题思路 Dijkstra 迪杰斯特拉 描述的是特定点到所有节点的最短距离 dst 每次找出距离 本阶段最近的节点 can_node 遍历can_node 的子节 更新 距离列表 代码 class Solution { public: int networkDelayTime(vector<vect 阅读全文
posted @ 2021-05-19 17:08 boyang987 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 解题思路 numCourses 相当于节点的数目 prerequisites 描述了所有的有向边 如果有向图中存在环,根据每次只Push入度为0 的节点的规则,是不可能遍历所有节点的 环的意思就是存在相互依赖关系 精简的代码 class Solution { public: bool canFini 阅读全文
posted @ 2021-05-19 10:15 boyang987 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 解题思路 关于图的深度优先遍历和广度优先遍历 为了标识出已经访问的路径,需要用到 hash 在DFS中需要记住如果能够访问 cnt=1 代码 class Solution { public: bool isRed(int x,int y,int k ) { // std::cout << x/10 阅读全文
posted @ 2021-05-18 09:34 boyang987 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 解题思路 注意 原来题目中 TreeNode* buildTree(vector & preorder, vector & inorder) 改写成 TreeNode* buildTree(vector preorder, vector inorder) 前序遍历 ,关键找到在inorder中 pr 阅读全文
posted @ 2021-05-17 15:53 boyang987 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 解题思路 本题相比 "剪绳子 I" , n能取得值更大了 如果用Python 得数值类型默认是支持大数的 , 类似3^200 这个数可以表示出来 但是C++中即便是long long (__int64) 都无法表示如此大的数 考虑使用贪心算法,依据就是尽最大努力保证长度3的子段最多 ,进而推出全局最 阅读全文
posted @ 2021-05-17 13:06 boyang987 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 解题思路 使用有限状态机 关键在于理清状态个数,尤其是检查DOt是否在数字前出现 因为出现Dot后不能在有第二个Dot C++ std::unordered_map 初始化 C++ 去除std::string 首尾空格 s.erase s.find_first_not_of() 代码 class S 阅读全文
posted @ 2021-05-15 22:49 boyang987 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 解题思路 四条边应该都利用左闭右开区间 要注意每次旋转的起始位置 和 矩阵长宽 最后应该是剩下一个横条 或竖条 ,这点可以模拟几次 再得出结论 代码 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matri 阅读全文
posted @ 2021-05-15 16:56 boyang987 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 解题思路 stack法,很多跟链表相关的问题都可以用栈 快慢指针法, 找到一个 【pos ,pos+k】 的窗口 ,当滑到尾部时候 ,窗口头部位置就是倒数第K个节点 可以在脑海中找下具体例子 如 [4,5,NULL] 对应 “1->2->3->4->5, 和 k = 2” ,最后slow fast 阅读全文
posted @ 2021-05-15 16:13 boyang987 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 解题思路 找到子问题 if p[i]= s[j] or p[i] ='.' : match(s[0..j-1],p[0..i-1]) else return false if p[i] = '' : match(s[0..j] ,p[0..i-1]) // is empty or p[i-1]p[i 阅读全文
posted @ 2021-05-15 15:57 boyang987 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 方法1 回环法 讲listA & listB看成一个环 class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { //回环法 讲listA & listB看成一个环 //e.g 阅读全文
posted @ 2021-05-15 13:37 boyang987 阅读(87) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页