51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#Etc
leetcode 74. Search a 2D Matrix 、240. Search a 2D Matrix II
74.Searcha2DMatrix整个二维数组是有序排列的,可以把这个想象成一个有序的一维数组,然后用二分找中间值就好了。这个时候需要将全部的长度转换为相应的坐标,/col获得x坐标,%col获得y坐标classSolution{public:boolsearchMatrix(vector<vector<...
代码星球
·
2020-10-13
Search
2D
Matrix
leetcode
240.
leetcode 704. Binary Search 、35. Search Insert Position 、278. First Bad Version
704.BinarySearch 1.使用start+1<end,这样保证最后剩两个数2.mid=start+(end-start)/2,这样避免接近max-int导致的溢出3.start、end直接等于mid4.最后比较两个位置classSolution{public:intsearch(vector...
代码星球
·
2020-10-13
Search
leetcode
704.
Binary
Insert
leetcode 55. Jump Game、45. Jump Game II(贪心)
55. JumpGame第一种方法:只要找到一个方式可以到达,那当前位置就是可以到达的,所以可以breakclassSolution{public:boolcanJump(vector<int>&nums){intlength=nums.size();if(length<=0)ret...
代码星球
·
2020-10-13
Jump
Game
leetcode
II
贪心
leetcode 62. Unique Paths 、63. Unique Paths II
62.UniquePathsclassSolution{public:intuniquePaths(intm,intn){if(m<=0||n<=0)return0;vector<vector<int>>dp(m,vector<int>(n));dp[0][0]=1;fo...
代码星球
·
2020-10-13
Unique
Paths
leetcode
II
leetcode 131. Palindrome Partitioning 、132. Palindrome Partitioning II
131.PalindromePartitioning 一个字符串,通过不同的切分找到所有切分后的子字符串都是回文的可能性substr使用的是坐标值,不使用.begin()、.end()这种迭代器使用dfs,类似于subsets的题,每次判断要不要加入这个数start每次是起始的位置,判断当前位置到起始位置是不...
代码星球
·
2020-10-13
Palindrome
Partitioning
leetcode
131.
132.
leetcode 127. Word Ladder、126. Word Ladder II
127.WordLadder这道题使用bfs来解决,每次将满足要求的变换单词加入队列中。wordSet用来记录当前词典中的单词,做一个单词变换生成一个新单词,都需要判断这个单词是否在词典中,不在词典中就不能加入队列。pathCnt用来记录遍历到的某一个词使用的次数,做一个单词变换生成一个新单词,都需要判断这个单词是否在...
代码星球
·
2020-10-13
Word
Ladder
leetcode
127.
126.
leetcode 51. N-Queens 、52. N-Queens II
51.N-Queens使用isValid判断当前的位置是否合法每次遍历一行,使用queenCol记录之前行的存储位置,一方面是用于判断合法,另一方面可以根据存储结果输出最终的结果棋盘的斜线都是45°的,所以两个位置x的差值和y的差值应该是相等的classSolution{public:vecto...
代码星球
·
2020-10-13
N-Queens
leetcode
II
leetcode 77. Combinations
https://www.cnblogs.com/grandyang/p/4332522.html数字从1到n,生成所有具有k个的组合本质上跟subsets更像,因为回溯回来只能选下一个位置的数值,可选择的数值在减少,搜索树的形状与subsets更像。不同的是,不是所有的节点都是可行解了,而是第k层所有的节点。class...
代码星球
·
2020-10-13
leetcode
Combinations
leetcode 230. Kth Smallest Element in a BST
https://www.cnblogs.com/grandyang/p/4620012.html这个题其实就是中序遍历第k个数就好了,代码最好写的就是非递归的方式,在stack里面找第k个就好了。也可以使用递归的方式:classSolution{public:intkthSmallest(TreeNode*root,i...
代码星球
·
2020-10-13
leetcode
230.
Kth
Smallest
Element
leetcode701. Insert into a Binary Search Tree
https://www.cnblogs.com/grandyang/p/9914546.html 类似于二分查找的方法,用迭代的方法去做注意:无论是进入左子树还是右子树,左右子树都变成了新的数,所以需要重新根据root->left=....来重新生成classSolution{public:...
代码星球
·
2020-10-13
leetcode701.
Insert
into
Binary
Search
leetcode 958. Check Completeness of a Binary Tree 判断是否是完全二叉树 、222. Count Complete Tree Nodes
完全二叉树的定义:若设二叉树的深度为h,除第h层外,其它各层(1~h-1)的结点数都达到最大个数,第h层所有的结点都连续集中在最左边,这就是完全二叉树。解题思路:将树按照层进行遍历,如果出现null后还出现非null则能证明这个不是完全二叉树https://leetcode.com/problems/check-com...
代码星球
·
2020-10-13
Tree
leetcode
958.
Check
Completeness
leetcode 110. Balanced Binary Tree
classSolution{public:boolisBalanced(TreeNode*root){intdepth=0;returnBalanced(root,depth);}boolBalanced(TreeNode*root,int&depth){if(root==NULL){depth=0...
代码星球
·
2020-10-13
leetcode
110.
Balanced
Binary
Tree
leetcode 104. Maximum Depth of Binary Tree 111. Minimum Depth of Binary Tree
104:classSolution{public:intmaxDepth(TreeNode*root){if(root==NULL)return0;intleft=maxDepth(root->left);intright=maxDepth(root->right);return(left>right...
代码星球
·
2020-10-13
Depth
of
Binary
Tree
leetcode
leetcode 124. Binary Tree Maximum Path Sum 、543. Diameter of Binary Tree(直径)
124.BinaryTreeMaximumPathSumhttps://www.cnblogs.com/grandyang/p/4280120.html如果你要计算加上当前节点的最大path和,这个节点的左右子树必定是纯左右树(即没有拐点),用另一个参数保留整个二叉树的最大path和,然后计算每一个以当前节点为拐点的路...
代码星球
·
2020-10-13
Binary
Tree
leetcode
124.
Maximum
leetcode 239. Sliding Window Maximum
https://www.cnblogs.com/grandyang/p/4656517.html 使用双端队列维护一个单调递减的队列。使用双端队列的原因是,当顶部元素不在这个窗口的时候,就需要弹出,并且是从前面弹出,保证插入的元素的顺序不变。单调递减是因为让双端队列的头部一直是当前窗口的最大值,只要这个最大值...
代码星球
·
2020-10-13
leetcode
239.
Sliding
Window
Maximum
首页
上一页
...
29
30
31
32
33
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他