Leetcode 89. Gray Code
来源:互联网 发布:react用js和jsx的区别 编辑:程序博客网 时间:2024/06/14 07:39
class Solution {public: vector<int> grayCode(int n) { if (n == 0) return vector<int>(1); size_t size = pow(2, n); vector<int> ret(size); ret[0] = 0; ret[1] = 1; if (n == 1) return ret; size_t i = 2; size_t ri = 1; int num = 2; while (i != size) { ret[i] = ret[ri] + num; if (ri == 0) { ri = i; num *= 2; } else { --ri; } ++i; } return ret; }};
神方法,还不是太理解
class Solution {public: vector<int> grayCode(int n) { bitset<32> b; vector<int> ret; backTrack(ret, b, n); return ret; }private: void backTrack(vector<int>& ret, bitset<32>& b, int n) { if (n == 0) { ret.push_back(b.to_ulong()); return; } else { backTrack(ret, b, n - 1); b.flip(n - 1); backTrack(ret, b, n - 1); } }};
阅读全文
0 0
- [LeetCode]89.Gray Code
- LeetCode 89. Gray Code
- [Leetcode] 89. Gray Code
- LeetCode --- 89. Gray Code
- [leetcode] 89.Gray Code
- 89. Gray Code LeetCode
- [LeetCode]89. Gray Code
- Leetcode 89. Gray Code
- [leetcode] 89. Gray Code
- LeetCode *** 89. Gray Code
- [LeetCode]89. Gray Code
- leetcode 89. Gray Code
- leetcode 89. Gray Code
- [leetcode]89. Gray Code
- LeetCode-89.Gray Code
- LeetCode 89. Gray Code
- LeetCode - 89. Gray Code
- [LeetCode] 89. Gray Code
- Ubuntu 16.04 安装 PyCharm
- 在mysql中使用去重distinct需要注意的
- ServerSocket用法
- The record for a starter making a printed circuit board.
- 微服务:微服务架构模式译文说明
- Leetcode 89. Gray Code
- 最短路径
- ARP地址解析协议原理
- equals 和 hashCode
- 数据结构实验之排序二:交换排序
- 利用JSP与JS实现简易购物车
- 某个题库中的题目数量修改了,为何展示题号展示时没有它?
- VBA学习9_ fso提取汇总文件夹及其下的文件名及内容(递归操作字典汇总)
- 总结(这两天的总结)报405错误,不支持post的请求