上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页
摘要: 1先利用符号栈转化为逆波兰表达式,并添加‘,’作为一个数字的结尾; 2然后利用数字栈计算逆波兰表达式的值; 阅读全文
posted @ 2019-06-12 22:39 Joel_Wang 阅读(361) 评论(0) 推荐(0) 编辑
摘要: time O(n) space O(1) 阅读全文
posted @ 2019-06-12 16:07 Joel_Wang 阅读(115) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: vector> dirs={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}}; void gameOfLife(vector>& board) { //time O(2*9*m*n) int r=board.size(); ... 阅读全文
posted @ 2019-06-12 11:22 Joel_Wang 阅读(239) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int maxArea(vector& height) { //双指针法:从最宽的容器开始计算,当更窄的容器盛水量要大于之前容器,那必须比之前容器高,因此可以移动两个指针,直到最窄time O(n),space O(1); int low=0; int high=height.size... 阅读全文
posted @ 2019-06-12 10:17 Joel_Wang 阅读(145) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: vector findClosestElements(vector& arr, int k, int x) { //查找,二分法找到那个数的lowerbound然后左右指针比较;O(logn+2k) vector::iterator p=lower_bound(arr.begin(),arr.end(... 阅读全文
posted @ 2019-06-10 12:08 Joel_Wang 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 采用递归分治的策略来解决汉诺塔问题 阅读全文
posted @ 2019-06-10 10:25 Joel_Wang 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 采用一个哈希表存储两个数的和,再遍历另外两个数组的和,time O(n2) space O(n2) 阅读全文
posted @ 2019-06-06 12:09 Joel_Wang 阅读(159) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: bool possibleBipartition(int N, vector>& dislikes) { //建一个图,找一个元素把所有敌对的元素染色-1,再对自己染色为1 vector> M(N+1,vector(N+1,0)); for(auto dis:dislikes){ ... 阅读全文
posted @ 2019-06-05 10:42 Joel_Wang 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 单调递减栈来做,time O(n),spaceO(n)需要一个哈希map 阅读全文
posted @ 2019-06-04 11:07 Joel_Wang 阅读(229) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: vector productExceptSelf(vector& nums) { //用除法必须要考虑元素为0的情况,用双重循环要考虑数组过大超时的情况 //双指针双vector O(n)time O(n) space int n=nums.size(); vector... 阅读全文
posted @ 2019-06-03 22:59 Joel_Wang 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页