上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 73 下一页
摘要: "题目" 思路,维护一个最小堆。 一开始把二维数组里的每一维的第一个元素都放到堆里。也就是第一列的元素都放到堆里。 此后,出堆。再进堆,没次出堆,都把 出堆的元素 在数组里的下一个元素 入堆。循环这种操作。 每次出堆的元素都是最小的。 这样的效率就是O(n log(n)) one pass && f 阅读全文
posted @ 2019-07-03 16:09 Shendu.CC 阅读(80) 评论(0) 推荐(0) 编辑
摘要: "题目" class Solution { public: int s[10005]; vector res; vector generateParenthesis(int n) { if(n==0) return res; fun("",0,0,0,0,n); return res; } void 阅读全文
posted @ 2019-07-03 10:05 Shendu.CC 阅读(74) 评论(0) 推荐(0) 编辑
摘要: "题目" 阅读全文
posted @ 2019-07-02 17:11 Shendu.CC 阅读(75) 评论(0) 推荐(0) 编辑
摘要: "题目" class Solution { public: char a[10005]; int pos=0;; bool isValid(string s) { if(s.length()==0) return true; for(int i=0;i 阅读全文
posted @ 2019-07-02 17:10 Shendu.CC 阅读(100) 评论(0) 推荐(0) 编辑
摘要: "题目" c++ 阅读全文
posted @ 2019-06-30 11:09 Shendu.CC 阅读(157) 评论(0) 推荐(0) 编辑
摘要: "题目" class Solution { public: char a[10][5]={{'\0'},{'\0'},{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'},{'m','n','o'},{'p','q','r','s'},{'t 阅读全文
posted @ 2019-06-28 08:58 Shendu.CC 阅读(84) 评论(0) 推荐(0) 编辑
摘要: "题目" 和之前的一样的思路 O(N^(k 1)) class Solution { public: vector fourSum(vector& nums, int target) { sort(nums.begin(),nums.end()); int length = nums.size(); 阅读全文
posted @ 2019-06-28 08:40 Shendu.CC 阅读(86) 评论(0) 推荐(0) 编辑
摘要: "题目" 和上一题一样的思路 阅读全文
posted @ 2019-06-25 19:05 Shendu.CC 阅读(86) 评论(0) 推荐(0) 编辑
摘要: "题目" 这道题目其实和上一题有点相似。 N的三次方是肯定过不了的,N的2次方是解决方案。 可以用HashTable,Dictionary,Map等等, 但是最优的思路是,将数组排序,从两头开始计算两个数的和,最终效率为N的3次方 class Solution { public: map,int m 阅读全文
posted @ 2019-06-25 14:33 Shendu.CC 阅读(109) 评论(0) 推荐(0) 编辑
摘要: "题目" c++ class Solution { public: string longestCommonPrefix(vector& strs) { if(strs.size()==0) return ""; int i=0; string ans=""; while(true) { if(i= 阅读全文
posted @ 2019-06-22 10:17 Shendu.CC 阅读(85) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 73 下一页