当前位置: 首页 > news >正文

【Java|golang】 1238. 循环码排列---格雷编码

给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,…,2^n-1) 的排列 p,并且满足:

p[0] = start
p[i] 和 p[i+1] 的二进制表示形式只有一位不同
p[0] 和 p[2^n -1] 的二进制表示形式也只有一位不同

示例 1:

输入:n = 2, start = 3
输出:[3,2,0,1]
解释:这个排列的二进制表示是 (11,10,00,01)
所有的相邻元素都有一位是不同的,另一个有效的排列是 [3,1,0,2]
示例 2:

输出:n = 3, start = 2
输出:[2,6,7,5,4,0,1,3]
解释:这个排列的二进制表示是 (010,110,111,101,100,000,001,011)

提示:

1 <= n <= 16
0 <= start < 2^n

    public List<Integer> circularPermutation(int n, int start) {List<Integer> res=new ArrayList<>();for (int i = 0; i < (1 << n); i++) {res.add(i^(i>>1)^start);}return res;}

在这里插入图片描述

func circularPermutation(n int, start int) []int {length:=1<<nres := make([]int, length)for i:=0;i<length;i++{res[i]=i^(i/2)^start}return res
}

在这里插入图片描述

http://www.lryc.cn/news/17572.html

相关文章:

  • Python自动化测试框架封装和调用
  • 线程的执行
  • 【视频】海康摄像头、NVR网络协议简介
  • 【Spring的事务传播行为有哪些呢?Spring事务的隔离级别?讲下嵌套事务?】
  • 其实一点不难学会这三步一定让你学会制作一个『3D建模』大屏
  • 【C++】C++的内存模型之四大分区
  • Vue跨级通信(重点)
  • 支付系统中的设计模式07:责任链模式
  • 期末综合考试
  • 数据结构与算法之爬楼梯动态规划
  • CleanMyMac4.12最新Mac电脑系统垃圾清理神器
  • 数据治理如何做?火山引擎 DataLeap 帮助这款产品 3 个月降低计算成本 20%
  • 求职3个月,简历大多都石沉大海,一听是手工测试都纷纷摇头....太难了
  • Visual Studio快捷键汇总
  • ctf pwn基础-2
  • 从一个SQL打印全年日历漫谈数据仓库中时间操作场景的重点写法
  • Java跳槽涨薪之路-想学Java的赶紧上车了
  • MyBatis解析全局配置文件
  • 37-Golang中的封装
  • Python Pytorch开发环境搭建(Windows和Ubuntu)
  • 多种方法进行去基线处理
  • 二叉树——最大二叉树
  • 【Redis】Redis 的过期策略以及内存淘汰机制详解
  • 边缘云是什么?
  • Java常用数据结构
  • 【Java基础 下】 026 -- 集合进阶(不可变集合、Stream流、方法引用)
  • SAP 跨工厂或特定工厂的物料状态设置
  • jupyter的安装步骤
  • Optional使用详解
  • 如何实现文件高速传输,推荐镭速高速文件传输解决方案