摘要:        
原题地址DFS,跟求子集合的方法类似,对于任意一个元素,要么选,要么不选。代码: 1 vector > res; 2 3 void solve(vector ans, int n, int curr, int left) { 4 if (left == 0) 5 res.push_ba...    阅读全文
posted @ 2015-01-25 15:36
李舜阳
阅读(124)
评论(0)
推荐(0)
        
            
        
        
摘要:        
原题地址二进制码 -> 格雷码:从最右边起,依次与左边相邻位异或,最左边一位不变。例如:二进制: 1 0 0 1 1 1 0 |\|\|\|\|\|\| 格雷码: 1 1 0 1 0 0 1从二进制到格雷码有一个残暴公式: a ^ (a 二进制码:从左边第二位开始,依次与左边相邻已经解...    阅读全文
posted @ 2015-01-25 15:16
李舜阳
阅读(135)
评论(0)
推荐(0)
        
            
        
        
摘要:        
原题地址《Cracking the Code》一书中出现过这道题,那里面提到了多种解法,这里用最简单的枚举法。DFS枚举,令leftRemain表示当前还剩下几个"("可用,rightRemain表示当前还剩下几个")"可用。如果leftRemain > 0,那么总可以放一个"("如果leftRem...    阅读全文
posted @ 2015-01-25 13:57
李舜阳
阅读(172)
评论(0)
推荐(0)
        
            
        
        
摘要:        
原题地址很有意思的一道题,二分搜索求极值。题目中已经说明num[i] != num[i+1],即相邻元素不可能相等,所以相邻元素间的大小关系要么是大于,要么是小于,这就是二分搜索的判断条件。假设左边界是l,右边界是r,中点m=(l+r)/2如果num[m]比左右两边都大,那么num[m]就已经是极值...    阅读全文
posted @ 2015-01-25 13:40
李舜阳
阅读(177)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号