leetcode
AdaMeta
https://www.cnblogs.com/adameta/
展开
-
LeetCode 234 palindrome-linked-list题解理解
LeetCode 234 palindrome-linked-list题解理解leetcode234回文链表题解链接 https://leetcode.com/problems/palindrome-linked-list/discuss/64490/My-easy-understand-C+±solution代码:class Solution{ public: //申...原创 2018-10-11 18:31:53 · 601 阅读 · 1 评论 -
[LeetCode][142] Linked List Cycle II
[LeetCode][142] Linked List Cycle IIlower 和faster 如果有重合就说明有环当有环时候头节点到入口点为L1 入口点到会合点是L2 循环长度为c第一次快慢指针相遇是进行了n轮的循环 lower长度是L1+L2 faster长度是L1+L2+nc由此第二次遇到后可以求出c因为faster每次走两步 lower每次走一步 因此(L1+L2 )2=...原创 2019-02-25 10:12:02 · 166 阅读 · 0 评论 -
[LeetCode][79] Word Search
dfs+回溯大水题处理重复的方法值得学下对于重复的情况会在搜索路径下回到原点那么解决的方法就是在路过的当前位置进行标记为* 使得下次路径判断不会到达board[i][j] = '*'; if (dfs(board, word, cur_index + 1, i + dirction[dir].first, j + dirction[dir]....原创 2019-02-03 16:18:16 · 212 阅读 · 0 评论 -
[LeetCode][105] Construct Binary Tree from Preorder and Inorder Traversal
以下是爆栈写法 当前测试过不掉了(以前貌似可以 看到discus里有好多和我一样的写法原因就是传递函数的过程中复制消耗了栈空间 同时时间也不乐观的大量提升所以告诉我们一个道理。能用辅助函数就用辅助函数来操作上下界,直接写太ugly 维护性差 而且内存会爆炸。/* * @lc app=leetcode id=105 lang=cpp * * [105] Construct Binary...原创 2019-02-14 17:21:04 · 358 阅读 · 2 评论 -
[LeetCode][73] Set Matrix Zeroes
题目大意:给定一个矩阵 如果矩阵中出现元素0 则元素所在的行和列都被清空为0Emmmm 本题算法很简单,所以采用std::multimap 目的是熟悉这个容器算法当然不是很快。。。毕竟O(n3)/* * @lc app=leetcode id=73 lang=cpp * * [73] Set Matrix Zeroes * * https://leetcode.com/prob...原创 2019-02-02 16:55:27 · 191 阅读 · 0 评论 -
[Leetcode][77] Combinations
来自leetcode题解,手推一遍过程才理解大概思想是 申请一个k大小的数组1、首先循环会一直执行第三个if把整个vector填成1…k的形式2、1过程结束后会把第一个序列加入 然后再对最右边的数据进行加1操作,一直到达到n为止,加1过程也一直把vector加入到res里面3、当最右边不能更加大的时候,把i指向左边一个元素(i–),对该元素做加1操作,同时把该元素把其右边的元素挤掉(上一...原创 2019-01-22 23:00:41 · 255 阅读 · 0 评论 -
[LeetCode][210] Course Schedule II
[LeetCode][210] Course Schedule II抽象:给定一个无向图,判定是否有环。使用拓朴排序(实质是dfs)/* * @lc app=leetcode id=210 lang=cpp * * [210] Course Schedule II * * https://leetcode.com/problems/course-schedule-ii/descri...转载 2018-12-07 20:49:31 · 222 阅读 · 0 评论 -
[LeetCode][22] Generate Parentheses
[LeetCode][22] Generate Parentheses题解原题链接参考自https://leetcode.com/problems/generate-parentheses/discuss/10105/Concise-recursive-C%2B%2B-solution注意这里是if也就是都会走第一个情况会第一次走进第二个if得到str是(第二次进入是直接进有(括号的情...原创 2018-12-02 16:20:32 · 224 阅读 · 0 评论 -
leetcode个人题集分类(更新中)
leetcodegithub repo地址:https://github.com/oceanlvr/Leetcode题目标签[764] N-ary Tree Level Order Traversal[772] Construct Quad Tree[438] Find All Anagrams in a String[300] Longest I...原创 2018-11-16 16:18:59 · 1485 阅读 · 2 评论 -
C++ std::vector中push_back操作空间溢出
今天在做leetcode 705、706时候遇到一个错误。题链接:https://leetcode.com/problems/design-hashmap/description/[817] Design HashMap * *https://leetcode.com/problems/design-hashmap/description/ * *algorithms * ...原创 2018-11-08 19:47:24 · 5726 阅读 · 0 评论 -
[LeetCode][720] Longest Word in Dictionary
[LeetCode][720] Longest Word in Dictionary题解题意:找到最长的单词,该单词要在数组中拥有一个前缀,满足该前缀也是在数组中。如果有相同长度返回字典序小的。也就是返回最长的字典序最小的字符串。这里我们使用了前缀树数据结构。首先对数组进行排序,排序规则为长的在前面,如果相同长度,字典序小的在前面。对于一组字符串,把遍历加入到前缀树中。然后,对排序过后...原创 2018-11-11 14:17:43 · 227 阅读 · 0 评论 -
[LeetCode][637]Average of Levels in Binary Tree题解
[LeetCode][637]Average of Levels in Binary Tree题解标签:BFS queue题意:求树的每层的平均数使用bfs即可code:/* * [637] Average of Levels in Binary Tree * * https://leetcode.com/problems/average-of-levels-in-binary-...原创 2018-11-04 10:54:12 · 214 阅读 · 0 评论 -
[LeetCode][589] N-ary Tree Preorder Traversal题解
[LeetCode][589] N-ary Tree Preorder Traversal题意:给定一个n叉树,返回它的前序遍历循环递归循环vector<int> preorder(Node *root) { if (root == nullptr) { return vector<int>{...原创 2018-11-01 17:24:03 · 315 阅读 · 0 评论 -
[LeetCode][572] Subtree of Another Tree题解
[LeetCode][572] Subtree of Another Tree题解题意:给一个树t和s,判断在t中是否有一个子树s。思路:dfs遍历一个树把t和s的val值一样的节点加入treenode*型的vector中,再使用搜索判断这个节点x开始,x和s是否一模一样,这里使用dfs来写isSame代码/* * [572] Subtree of Another Tree ...原创 2018-11-01 00:08:59 · 243 阅读 · 0 评论 -
[LeetCode][563] Binary Tree Tilt题解
[LeetCode][563] Binary Tree Tilt题解给定一个树,定义一个树的左右子树的差值的绝对值为树的坡度。要求返回树的所有节点的坡度的和dfs搜索左右子树的和 然后相减取绝对值,将这个结果累加到全局变量res上dfs作用即是记录当前树的总和,以便它的父亲调用(回溯时候调用)/* * [563] Binary Tree Tilt * * https://l...原创 2018-10-31 23:30:06 · 232 阅读 · 0 评论 -
[LeetCode][453] Minimum Moves to Equal Array Elements题解
对于一个序列:设序列的和开始为sum0,结束为sum1序列长度为n序列的最小值为min对于一个最小值min,每次加法操作都必然作用在min上共作用k次后得到一个数字x此时所有的数字都是x那么有k = sum1/n-minsum1=sum0+(n-1)kk=sum0-minn源码/* * [453] Minimum Moves to Equal Array E...原创 2018-10-21 15:48:31 · 224 阅读 · 0 评论 -
[LeetCode][458] Poor Pigs题解
题解:https://leetcode.com/problems/poor-pigs/discuss/94266/Another-explanation-and-solution一只猪能测试(minutesToTest/minutesToDie)+1个水桶是否有毒对于两只猪那么测试至少((minutesToTest/minutesToDie)+1)^2的水桶数量对于一个水桶组成的二位数...原创 2018-10-22 14:48:24 · 368 阅读 · 1 评论 -
[LeetCode][143] Reorder List
先遍历一遍知道有多长 然后取到中间把整个链表断开然后把后半部分反转 并且一一merget到前部份/* * @lc app=leetcode id=143 lang=cpp * * [143] Reorder List * * https://leetcode.com/problems/reorder-list/description/ * * algorithms * Med...原创 2019-02-25 11:44:23 · 224 阅读 · 0 评论