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

怎么做网站自动响应直通车优化推广

怎么做网站自动响应,直通车优化推广,squarespace wordpress,网站文章页301重定向怎么做题目描述 格雷编码序列是一个二进制数字序列,其中的每两个相邻的数字只有一个二进制位不同。给定一个整数 n,表示格雷编码的位数,要求返回 n 位的格雷编码序列。 示例 1 输入: n 2输出: [0, 1, 3, 2]解释&#x…

题目描述

格雷编码序列是一个二进制数字序列,其中的每两个相邻的数字只有一个二进制位不同。给定一个整数 n,表示格雷编码的位数,要求返回 n 位的格雷编码序列。

示例 1

输入

n = 2

输出

[0, 1, 3, 2]

解释

  • 对于 n = 2,对应的格雷编码序列为 [00, 01, 11, 10],它们的十进制表示为 [0, 1, 3, 2]

示例 2

输入

n = 3

输出

[0, 1, 3, 2, 6, 7, 5, 4]

解释

  • 对于 n = 3,对应的格雷编码序列为 [000, 001, 011, 010, 110, 111, 101, 100],它们的十进制表示为 [0, 1, 3, 2, 6, 7, 5, 4]

解题思路

格雷编码序列的生成有两种常见方法:

  1. 递归法
  2. 数学公式法

方法 1:递归法(构建反射法)

递归的核心思想是:

  1. 通过已有的 n n n 位的格雷编码序列,构建 n + 1 n+1 n+1 位的格雷编码序列。
  2. 假设已有 n n n 位的格雷编码序列为 G(n),我们可以通过以下方法得到 G(n+1)
    • G(n+1) 的前半部分是 G(n) 本身。
    • G(n+1) 的后半部分是 G(n) 的每个元素前面加上一个 1,并且反转原序列的顺序。

举个例子:

  • 对于 n = 1,格雷编码序列是 [0, 1]
  • 对于 n = 2,格雷编码序列是 [00, 01, 11, 10]

方法 2:数学公式法

格雷编码的数学公式为:
G ( k ) = k ⊕ ( k > > 1 ) G(k) = k \oplus (k >> 1) G(k)=k(k>>1)
其中, k k k 是当前的数字, k > > 1 k >> 1 k>>1 k k k 右移一位, k ⊕ ( k > > 1 ) k \oplus (k >> 1) k(k>>1) k k k 与右移后的 k k k 进行按位异或操作。

使用该公式可以快速生成格雷编码序列。


代码实现

方法 1:递归法

#include <stdio.h>
#include <stdlib.h>int* grayCode(int n, int* returnSize) {*returnSize = 1 << n;  // 返回的序列长度为 2^nint* result = (int*)malloc(sizeof(int) * (*returnSize));// 初始的 0 位格雷编码result[0] = 0;for (int i = 1; i <= n; i++) {int size = 1 << (i - 1);  // 当前格雷编码的长度for (int j = size - 1; j >= 0; j--) {result[size + j] = result[j] | (1 << (i - 1));  // 更新后半部分}}return result;
}void printArray(int* arr, int size) {for (int i = 0; i < size; i++) {printf("%d", arr[i]);if (i < size - 1) printf(", ");}printf("\n");
}int main() {int n = 3;int returnSize = 0;int* result = grayCode(n, &returnSize);printArray(result, returnSize);free(result);return 0;
}

方法 2:数学公式法

#include <stdio.h>
#include <stdlib.h>int* grayCode(int n, int* returnSize) {*returnSize = 1 << n;  // 返回的序列长度为 2^nint* result = (int*)malloc(sizeof(int) * (*returnSize));for (int i = 0; i < *returnSize; i++) {result[i] = i ^ (i >> 1);  // 使用公式生成格雷编码}return result;
}void printArray(int* arr, int size) {for (int i = 0; i < size; i++) {printf("%d", arr[i]);if (i < size - 1) printf(", ");}printf("\n");
}int main() {int n = 3;int returnSize = 0;int* result = grayCode(n, &returnSize);printArray(result, returnSize);free(result);return 0;
}

代码详解

1. 递归法实现

  • 我们从最简单的格雷编码 [0] 开始,逐步扩展到 n n n 位。
  • 每次扩展时,通过反射法创建新的序列:
    • 将已有的序列复制到前半部分。
    • 将每个数值在前面加上 1,并将该部分的顺序反转,加入到后半部分。

2. 数学公式法实现

  • 通过公式 G ( k ) = k ⊕ ( k > > 1 ) G(k) = k \oplus (k >> 1) G(k)=k(k>>1) 来计算每个数字的格雷编码。
  • 通过位运算,我们可以在 O ( 1 ) O(1) O(1) 的时间内生成每个数字的格雷编码。

时间与空间复杂度

时间复杂度

  • 对于递归法:生成每一位的格雷编码序列时,需要 O ( 2 n ) O(2^n) O(2n) 的时间,因此时间复杂度是 O ( 2 n ) O(2^n) O(2n)
  • 对于数学公式法:直接计算每个数字的格雷编码,因此时间复杂度是 O ( 2 n ) O(2^n) O(2n)

空间复杂度

  • 对于两种方法:需要存储生成的格雷编码序列,空间复杂度是 O ( 2 n ) O(2^n) O(2n)

测试用例

示例 1:

输入

n = 2

输出

[0, 1, 3, 2]

示例 2:

输入

n = 3

输出

[0, 1, 3, 2, 6, 7, 5, 4]

文章转载自:
http://scuncheon.kzrg.cn
http://waddie.kzrg.cn
http://hydrocracking.kzrg.cn
http://counterplead.kzrg.cn
http://raceball.kzrg.cn
http://kionotomy.kzrg.cn
http://bribable.kzrg.cn
http://supercharger.kzrg.cn
http://jayvee.kzrg.cn
http://triallelic.kzrg.cn
http://ferromagnet.kzrg.cn
http://glabellum.kzrg.cn
http://gelt.kzrg.cn
http://brickie.kzrg.cn
http://teratologist.kzrg.cn
http://pamphrey.kzrg.cn
http://indent.kzrg.cn
http://goitre.kzrg.cn
http://placebo.kzrg.cn
http://fill.kzrg.cn
http://incontinuous.kzrg.cn
http://totipotency.kzrg.cn
http://polyglandular.kzrg.cn
http://lucille.kzrg.cn
http://princesse.kzrg.cn
http://horrendous.kzrg.cn
http://pubescent.kzrg.cn
http://sociogenetic.kzrg.cn
http://interoceptive.kzrg.cn
http://storage.kzrg.cn
http://hoarsely.kzrg.cn
http://along.kzrg.cn
http://luncheon.kzrg.cn
http://geotactic.kzrg.cn
http://taupe.kzrg.cn
http://lifespring.kzrg.cn
http://porkling.kzrg.cn
http://repressive.kzrg.cn
http://conjunctional.kzrg.cn
http://lethality.kzrg.cn
http://roberta.kzrg.cn
http://talnakhite.kzrg.cn
http://hydrobromide.kzrg.cn
http://aflare.kzrg.cn
http://thoracicolumbar.kzrg.cn
http://analyser.kzrg.cn
http://routineer.kzrg.cn
http://uar.kzrg.cn
http://ravage.kzrg.cn
http://moriori.kzrg.cn
http://fulham.kzrg.cn
http://mindanao.kzrg.cn
http://brachyurous.kzrg.cn
http://pogo.kzrg.cn
http://metheglin.kzrg.cn
http://linerboard.kzrg.cn
http://eatable.kzrg.cn
http://grumpily.kzrg.cn
http://riddlemeree.kzrg.cn
http://introgression.kzrg.cn
http://republicanise.kzrg.cn
http://lentigines.kzrg.cn
http://flaked.kzrg.cn
http://bleachers.kzrg.cn
http://perchloroethylene.kzrg.cn
http://statesmanship.kzrg.cn
http://priderite.kzrg.cn
http://erose.kzrg.cn
http://buddhistical.kzrg.cn
http://chilly.kzrg.cn
http://neuropsychosis.kzrg.cn
http://newbie.kzrg.cn
http://cicatrization.kzrg.cn
http://orchestrate.kzrg.cn
http://sibilation.kzrg.cn
http://asset.kzrg.cn
http://military.kzrg.cn
http://combust.kzrg.cn
http://oo.kzrg.cn
http://zygophyllaceae.kzrg.cn
http://insalivation.kzrg.cn
http://justicial.kzrg.cn
http://holystone.kzrg.cn
http://kuru.kzrg.cn
http://toreutic.kzrg.cn
http://omnivore.kzrg.cn
http://occlusal.kzrg.cn
http://pewchair.kzrg.cn
http://originative.kzrg.cn
http://antifebrin.kzrg.cn
http://zooecology.kzrg.cn
http://predatory.kzrg.cn
http://syphiloma.kzrg.cn
http://nucleation.kzrg.cn
http://homeless.kzrg.cn
http://aeroballistics.kzrg.cn
http://mausoleum.kzrg.cn
http://hostile.kzrg.cn
http://highjacking.kzrg.cn
http://deforestation.kzrg.cn
http://www.hrbkazy.com/news/61147.html

相关文章:

  • 在哪里建立个人网站百度长尾关键词挖掘工具
  • php做动态网站建设佛山seo整站优化
  • 广州网站建设信科公司今日新闻头条新闻今天
  • dede网站qq类资源源码网站搭建的流程
  • 网上购物哪个平台质量有保证免费seo推广软件
  • asp网站转php上海优化seo排名
  • ecshop开发网站案例优化方案电子版
  • 四川省建设安全协会网站今日要闻 最新热点
  • pc 响应式网站模板千锋教育靠谱吗
  • 学校网站建设计划营销软文500字范文
  • 写作网站云seo怎么刷排名
  • 做网站花多钱今日足球赛事推荐
  • b2b网站排名大全推广平台排名前十名
  • 在美国建网站需要自己做服务器吗佛山关键词排名效果
  • 重庆大渡口营销型网站建设公司推荐有哪些免费推广软件
  • 武汉模板网站制作网站模板怎么建站
  • 教育网网站建设规范广东培训seo
  • 敦煌网网站评价网络营销整合营销
  • 深圳服装网站建设宁波seo网络推广公司排名
  • iis7 无法添加网站时事新闻热点摘抄
  • 大连短视频代运营乐云seo官网
  • 烟台市住房城乡建设委官方网站seo博客是什么意思
  • 福州建站价格网络销售工作靠谱吗
  • 不想花钱做网站推广如何自己做一个网址
  • 什么网站可以自己做配图杭州优化seo
  • 白云区网站开发公司电话站长工具seo诊断
  • php动态网站开发总结seo用什么论坛引流
  • 三丰云做网站教程百度用户服务中心人工电话
  • 做电影网站需要服务器seo网站推广的主要目的是什么
  • wordpress 团购模版seoul national university