1957

无聊蛋疼的1957写的低端博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页

2013年10月31日

摘要: /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool compare(TreeNode* l , TreeNode* r){ if(l == NULL && r == NULL) return true; ... 阅读全文

posted @ 2013-10-31 13:56 1957 阅读(150) 评论(0) 推荐(0) 编辑

摘要: class Solution {public: vector > generate(int numRows) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector > ans; if(numRows == 0) return ans; vector tmp ; tmp.push_back(1); ... 阅读全文

posted @ 2013-10-31 10:56 1957 阅读(133) 评论(0) 推荐(0) 编辑

摘要: class Solution {public: string getChar(char ch){; switch(ch){ case '2' : return "abc"; case '3' : return "def"; case '4' : return "ghi"; case '5' : return "jkl"; case '6' : return "mno"; case '7' : retu 阅读全文

posted @ 2013-10-31 10:43 1957 阅读(176) 评论(0) 推荐(0) 编辑

2013年10月30日

摘要: /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: pair search(TreeNode* root){ if(root == NULL) return make_pair(true , 0); pair l... 阅读全文

posted @ 2013-10-30 10:26 1957 阅读(166) 评论(0) 推荐(0) 编辑

2013年10月17日

摘要: Single Number的加强班有n个数字,除了一个只出现过一次,其他的都出现了3次!出现两次我们知道就是xor下就木有啦,那3次怎么搞?我们还是用二进制位的方式来思考。那么这些位,除去出现过一次的那个后,其他的都是3的倍数!- -我们把所有位1的个数mod 3,那么剩下的就是只出现过一次那个啦。我们也没必要开个啥 int bit[32]的数组去统计的= =我们来模拟二进制加法用两位来计数,到3就把该位清零。bit2 bit1bit1 如果该位来的是1 ,保持0,1,0,1。。。(也就是xor),如果是0就不变当bit1=1的时候再来一个1,那么bit2=1当这两个bit同时为1,说明这是3 阅读全文

posted @ 2013-10-17 13:44 1957 阅读(4589) 评论(0) 推荐(0) 编辑

2013年10月16日

摘要: 题目大概意思就是给你一些孩子的rating,这些孩子站成一个直线,相邻的孩子rating高的一定要比rating低的孩子的candy多所有孩子至少有一个candy。问最少发多少个candy(好抠)最少呢,我们当然就是保证再满足限制条件下尽量少发candy给孩子。那限制条件当然来自相邻的孩子。如果我比... 阅读全文

posted @ 2013-10-16 10:02 1957 阅读(3831) 评论(0) 推荐(0) 编辑

2013年10月15日

摘要: 删除链表的倒数第n个元素- -开始感觉先统计有多少个,然后再计算出倒数第n个是正数第多少个。但是!题目说 one pass。。。那么,这样,用两个直指针。p,qp先跑n步,然后q和p一起跑,那么p跑到最后,q就正好在倒数第n个上面了。。。做了这么多单链表的题了,我一前有个很不好的习惯,就是链表头步知道怎么处理,一般都是单独处理T_T看了别人的代码,好多都是建立一个不用的头。。。然后真正的头在next里面。。。这样代码要少了单独处理头的那部分T_T/** * Definition for singly-linked list. * struct ListNode { * int val;... 阅读全文

posted @ 2013-10-15 20:36 1957 阅读(1138) 评论(0) 推荐(0) 编辑

摘要: 给一个数组,球里面所有满足 a+b+c = 0的元素T_T开始想的是hash,然后查0-a-b这个。但是发现不好处理重复元素的问题。T_T,那就这样。。。排序。。。然后二分先枚举afor(int i = 0 ; i &num , int target){ int l = start;... 阅读全文

posted @ 2013-10-15 13:11 1957 阅读(196) 评论(0) 推荐(0) 编辑

摘要: 正则表达式的匹配,一看吓尿了。写个正则引擎还是挺麻烦的。。不过仔细一看,原来是精简过的,只有. *这两种(正则好像也就这两种)主要就是*,匹配0到多个。。。那直接用递归吧。class Solution {public: bool isMatch(const char *s, const char *p) { // Note: The Solution object is instantiated only once and is reused by each test case. if(*p == '\0') return *s == '\0'; ... 阅读全文

posted @ 2013-10-15 09:47 1957 阅读(1019) 评论(1) 推荐(0) 编辑

2013年10月11日

摘要: 判断一个数字是否位回文,不能使用额外的空间。最简单的就是转成字符串,然后来判断。但是这题限制了不能用。可以考虑就是把数字反转,然后看是否相等,但是又有个问题就是,反转了可能溢出。。。我们每次取数字的头和尾的数字来比较!设数字为x末位= x % 10首位=x / div这个div是我们算出来的int div = 1;while(x / div >= 10) div *= 10这样就能保证能取到首位的数字了。比较之后再去掉首位的数字,继续!(x%div)/10那么,div就要除100,因为少了两位div /= 100class Solution {public: bool isPalindr 阅读全文

posted @ 2013-10-11 11:22 1957 阅读(175) 评论(0) 推荐(0) 编辑

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页