格雷码(多种方法)
来源:互联网 发布:mac 顿号 编辑:程序博客网 时间:2024/04/28 22:02
class GrayCode{public: vector<string> getGray1(int n) { vector<string>v; if(n<=0)return v; int num=pow(2,n); for(int i=0; i<num; i++) { string vi; for(int j=0; j<n; j++) { if(((i^(i>>1))>>j)&1) { vi+='1'; } else { vi+='0'; } } reverse(vi.begin(),vi.end()); v.push_back(vi); } return v; } vector<string> getGray2(int n) { vector<string>v(pow(2,n)); if(n==1) { v[0]='0'; v[1]='1'; return v; } vector<string>prev=getGray(n-1); for(int i=0; i<prev.size(); i++) { v[i]='0'+prev[i]; v[prev.size()*2-1-i]='1'+prev[i]; } return v; } vector<string> getGray(int n) { vector<string>v; for(int i=0; i<n; i++) { if(v.size()==0)v.push_back("0"),v.push_back("1"); else { for(int j=v.size()-1; j>=0; j--) { string temp1='0'+v[j]; string temp2='1'+v[j]; v[j]=temp1; v.push_back(temp2); } } } return v; }};
阅读全文
0 0
- 格雷码(多种方法)
- 格雷码(多种方法)
- 格雷码(多种方法含递归)
- 格雷码(多种方法含递归)
- 质数(或素数)(多种方法)
- php导出excel(多种方法)
- 自然数的拆分(多种方法)
- .php导出excel(多种方法)
- php导出excel(多种方法)
- Map笔记(遍历的多种方法)
- 字符串的排序(多种方法)
- php导出excel(多种方法)
- C实现计算器(多种方法)
- 二叉树的建立(多种方法)
- .php导出excel(多种方法)
- php导出excel(多种方法)
- 多种方法模拟估计值(蒙特卡罗)
- 多种矢量数据压缩方法
- USACO-Section1.3 Barn Repair
- 利用 HTable创建客户端,并向HBase插入数据
- 第三课
- angularJs中orderBy筛选以及filter过滤数据
- JAVA内存存储数据的位置
- 格雷码(多种方法)
- 初见-Java的反射机制
- copy及其用法
- SpringMVC 文件上传与下载(未完待续)
- HBaseAdmin API
- 网络编程
- 浅谈——Java反射机制
- 进程间通讯————消息队列
- 随想录:开发一流Android SDK