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

建设淘宝客网站医药网站模板

建设淘宝客网站,医药网站模板,橙域名网站,建设通官网app下载目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣 描述: 给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,,...,2^n-1) 的排列 p&…

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:

力扣


描述:

给你两个整数 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

解题思路:

* 解题思路:
* 其实我们可以构造一个环,这个环中任意两个数相邻都是只相差一位。
* 比如0到7,可以构造这样一个环[000,010,011,001,101,111,110,100],这样从中任意挑出一个数,都能构成满足条件的排列。
* 接下来,我们就看怎么去构造这样的一个环,
* 首先以0,1为例,我们构造一个镜面反射,那么就是0,1的镜面就是11,10,造构造成队列[00,01,11,10],然后就这样下去,继续构造新的队列的镜面。
* 最终会生成这样的一个环,找到start所在的位置,重新组成一个新的排列即可。
 

代码:

public class Solution1238 {public List<Integer> circularPermutation(int n, int start) {List<Integer> list = new ArrayList<>();list.add(0);List<Integer> integers = makeList(list, 0, 1 << n);int index = integers.indexOf(start);List<Integer> result = integers.subList(index, integers.size());result.addAll(integers.subList(0, index));return result;}public List<Integer> makeList(List<Integer> list, int nIndex, int length) {List<Integer> newList = new ArrayList<>(list);int mask = 1 << nIndex;for (int i = list.size() - 1; i >= 0; i--) {newList.add(mask | list.get(i));}if (newList.size() == length) {return newList;}return makeList(newList, nIndex + 1, length);}
}

http://www.yayakq.cn/news/692005/

相关文章:

  • 广东如何做企业网站设计重庆在线高校开放课程平台
  • 中为网站建设网站建设商城网站
  • 网站建设工作动态wordpress主题模版在那个文件夹
  • 三维在线设计网站wordpress导航怎么弄
  • 网站后台管理系统登陆wordpress admin head
  • 阿里云主机做网站0基础学网站设计
  • 网站开发方法简答题做宣传图片的网站
  • 资讯网站建设流程南阳免费网站建设
  • 滁州网站seo长沙网络推广小公司
  • 汽配公司的网站要怎么做discuz 与Wordpress
  • 青岛网站制作流程wordpress文章微信分享
  • 适用的深圳网站定制开发网页架构
  • 可以做众筹的网站现在的电商平台有哪些
  • 网站之间如何交换友情链接网站的网站制作公司
  • 深圳开发网站开发注册一个公司网站需要多少钱
  • 网站app免费制作软件江苏五星建设网站
  • 闵行区做网站深圳设计师品牌集中地
  • 淘宝购物券网站怎么做建设官方网站的费用账务处理
  • 网站变成灰色教育信息化建设网站
  • 东莞网站排名推广wordpress 迁移升级
  • 建设通招标网站中国十大it培训机构排名
  • 电商网站首页图片切换怎么做的phpcms v9企业网站模板(简洁利于优化)
  • 网站备案准备资料浙江坤宇建设有限公司 网站
  • 国外知名设计网站大全做网站版头图片
  • 网站框架搭建设计wordpress发帖时间
  • 网站建设 找客户职业教育专业建设验收网站
  • 长春网站建设加王道下拉百度网盘官方
  • 企业网站前台模板建设网站思维导图
  • 沈阳 建设工程 招标中心网站南京网页网站制作
  • 海口官网设计南京seo网站排名优化