DP(6)
来源:互联网 发布:微信点赞用什么软件好 编辑:程序博客网 时间:2024/06/04 19:14
Gray Code
格雷码不唯一。以下代码没有通过LeetCode的测试,但是输出是符合格雷码规则的编码序列。
bool diff(int a, int b, int n){ int s = a^b; for (int i = 0; i < n; i++) { if ((1 << i) == s) return true; } return false;}vector<int> grayCode(int n) { int m = pow(2, n); vector<int> flag(m); vector<int> gray(m); gray[0] = 0; for (int i = 1; i < m; i++) flag[i] = true; for (int i = 1; i < m; i++) { for (int j = 1; j < m; j++) { //检测 与当前值是否只有一位不同 if (flag[j] && diff(gray[i - 1], j, n)) { gray[i] = j; flag[j] = false; break; } } } return gray; }
下面这段输出可以通过测试,也更简洁一些。
vector<int> grayCode(int n) { vector<int> ans; ans.push_back(0); for (int i = 0; i < n; i++) for (int j = ans.size() - 1; j >= 0; j--) ans.push_back(ans[j] + (1 << i)); return ans; }
0 0
- DP(6)
- dp
- dp
- dp
- 【DP】
- dp
- dp
- DP
- DP
- DP
- DP
- DP
- dp
- DP
- dp
- DP
- DP
- dp
- 数据结构笔记-----图
- ios基本图形绘制
- 博客第一天,写给一年后的自己。
- ios AutoLayout基础知识 汇总
- 3.17问题发现及解决
- DP(6)
- LeetCode-64-Minimum Path Sum(动态规划)-Medium
- ng-options用法详解
- Asp.net Web Api开发(第一篇) 自定义HTTP消息拦截器
- 填空题
- 有GIS有意思︱讲述地图的故事
- PAT 乙级真题 1006. 换个格式输出整数
- 类脑计算与神经网络加速
- 把Oracle数据库移植到Mysql