1957

无聊蛋疼的1957写的低端博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年12月29日

摘要: 建立一个映射,old_graph -> clone_graph 节点的映射。如果不存在就新建,如果存在就把映射的节点push_back到neighbor里面/** * Definition for undirected graph. * struct UndirectedGraphNode { * int label; * vector neighbors; * UndirectedGraphNode(int x) : label(x) {}; * }; */class Solution {public: UndirectedGraphNode *cloneGra... 阅读全文

posted @ 2013-12-29 23:02 1957 阅读(520) 评论(0) 推荐(0) 编辑

摘要: 1...26给一个字符串有多少种组成方法。。开始觉得嘛。。。这个呢。。就是看一位一位的看嘛。。。如果新加入的这位可以和前面的组成1..26 之间的数,那么就等于前面那些位能组成的方法+除去前两位组成的方法f[i]表示从头到弟i位有多少种方法那么就是i如果是能和i-1构成 1..26...那么f[i] = f[i-1] + f[i-2]意思就是i单独的一种方法,和与i-1一起构成两位的方法。如果不能f[i] = f[i-1]到此,感觉就做完啦。不过。。。不过。。。我没有考虑0啊。。。有0要特殊处理。。。首先第一位肯定不能有0 , 也不能有连续的010,20这种只f[i] = f[i-2]00,3 阅读全文

posted @ 2013-12-29 20:01 1957 阅读(1088) 评论(0) 推荐(0) 编辑

摘要: DFS所有可能。。。class Solution {public: void search(const string& s , vector& ans , int step , const string& ip , int start){ if(s.size() == start && step == 4){ ans.push_back(ip.substr(1 , ip.size()-1)); // cout > n; if(n>=100 && n restoreIpAddresses(string s)... 阅读全文

posted @ 2013-12-29 13:44 1957 阅读(770) 评论(0) 推荐(0) 编辑

摘要: 找一个没排序的数组的最长连续块是多长第一想法,排序,遍历就ok。。。但是要求时间复杂度是O(n)想了几分钟TAT用hash记录每个数字啊。。。然后枚举就好了。。数字为n的时候扫描其左右两边时候有连续的数字如果有就从hash删掉。。继续。。。直到没有。。。记录长度class Solution {public: int longestConsecutive(vector &num) { int size = num.size(); if( size == 0 ) return 0; unordered_set st; int ans = 1; ... 阅读全文

posted @ 2013-12-29 11:58 1957 阅读(116) 评论(0) 推荐(0) 编辑