上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 36 下一页
摘要: 一:解题思路 这个题目是二分搜索的一个变体。Time:log(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int findMin(vector<int>& nums) { int low = 0; int hig 阅读全文
posted @ 2020-04-20 12:44 repinkply 阅读(123) 评论(0) 推荐(0)
摘要: 一:解题思路 之前做过一些求第K小或者第K大的元素的题目。一旦题目需要你求第K小或者第K大的元素的时候,这个时候就需要想到堆这个数据结构。 方法一:使用一个最大堆来做。当堆中的元素不足K个的时候,我们就不断的将矩阵中的元素加入堆中。然后接着遍历矩阵后面的其他元素,当遍历的元素小于堆顶元素的时候,加入 阅读全文
posted @ 2020-04-19 22:12 repinkply 阅读(282) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:每次添加一个数字,都使它成为一个递增有序的序列。时间复杂度分别为:addNum:O(n),findMedian:O(1) 方法二:采用一个最小堆和一个最大堆。时间复杂度分别为:addNum:O(log(n)),findMedian:O(1) 二:完整代码示例 (C++版和Jav 阅读全文
posted @ 2020-04-19 19:18 repinkply 阅读(198) 评论(0) 推荐(0)
摘要: 一:解题思路 二:完整代码示例 (C++版和Java版) C++: class RandomizedSet { private: map<int, int> m_map; vector<int> m_data; public: /** Initialize your data structure h 阅读全文
posted @ 2020-04-18 22:04 repinkply 阅读(140) 评论(0) 推荐(0)
摘要: 一:解题思路 如果x>y,那么一定可以用randx去实现randy。其中,randx表示等概率的生成1到x的函数。randy表示等概率的生成1到y的函数。 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int rand10() { int x 阅读全文
posted @ 2020-04-18 20:44 repinkply 阅读(203) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(n^3/2),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int numSquares(int n) { vector<int> d(n+1); d[0] = 0; for (int i = 阅读全文
posted @ 2020-04-18 17:07 repinkply 阅读(161) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:递归法 Time:O(n),Space:O(n) 方法二:迭代法 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) 方法一C++: class Solution { public: int rangeSumBST(TreeNode* root 阅读全文
posted @ 2020-04-18 12:09 repinkply 阅读(176) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector<vector<i 阅读全文
posted @ 2020-04-17 22:35 repinkply 阅读(641) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一递归法:Time:O(2^n),Space:O(n) 方法二迭代法:Time:O(n*2^n),Space:O(1) 二:完整代码示例 (C++版和Java版) 方法一C++: class Solution { private: void sub(vector<int>& num 阅读全文
posted @ 2020-04-17 17:52 repinkply 阅读(187) 评论(0) 推荐(0)
摘要: 一:解题思路 先按照主对角线进行反转,然后列对称进行反转。 如果这个题目改为,将图像逆时针旋转90度。那么解题方法与上面类似,先按主对角线进行反转,然后按照行对称进行反转。 Time:O(n^2),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solutio 阅读全文
posted @ 2020-04-16 20:33 repinkply 阅读(180) 评论(0) 推荐(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 36 下一页