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

江阴做网站的公司公众号怎么推广和引流

江阴做网站的公司,公众号怎么推广和引流,四川住房和城乡建设厅官网安全员,网站空间 阿里云3537.填充特殊网格 难度:中等 问题描述: 给你一个非负整数N,表示一个x的网格。你需要用从0到-1的整数填充网格,使其成为一个特殊网格。一个网格当且仅当满足以下所有条件时,才能称之为特殊网格: 右上角…

3537.填充特殊网格

难度:中等

问题描述:

给你一个非负整数N,表示一个2^{N}x2^{N}的网格。你需要用从0到2^{2N}-1的整数填充网格,使其成为一个特殊网格。一个网格当且仅当满足以下所有条件时,才能称之为特殊网格:

右上角象限中的所有数字都小于右下角象限中的所有数字。

右下角象限中的所有数字都小于左下角象限中的所有数字。

左下角象限中的所有数字都小于左上角象限中的所有数字。

每个象限也都是一个特殊网格。

返回一个2^{N}x2^{N}的特殊网格。

注意:任何1x1的网格都是特殊网格。

示例1:

输入:N=0

输出:[[0]]

解释:

唯一可以放置的数字是0,并且网格中只有一个位置。

示例2:

输入:N=1

输出:[[3,0],[2,1]]

解释:

每个象限的数字如下:

右上角:0

右下角:1

左下角:2

左上角:3

由于0<1<2<3,该网格满足给定的约束条件。

示例3:

输入:N=2

输出:[[15,12,3,0],[14,13,2,1],[11,8,7,4],[10,9,6,5]]

解释:

每个象限的数字如下:

右上角:3,0,2,1

右下角:7,4,6,5

左下角:11,8,10,9

左上角:15,12,14,13

max(3,0,2,1)<min(7,4,6,5)

max(7,4,6,5)<min(11,8,10,9)

max(11,8,10,9)<min(15,12,14,13)

这满足前三个要求。此外,每个象限也是一个特殊网格。因此,这是一个特殊网格。

提示:

0<=N<=10

问题分析:

这个问题还是很有趣的,有点找规律的意思,特别是把它变成网格之后,这个规律就很容易观察到了,而且我们解决问题也要利用这个规律。

N=0时,输出[[0]]

N=1时,输出[[3,0],[2,1]]

 N=2时,输出[[15,12,3,0],[14,13,2,1],[11,8,7,4],[10,9,6,5]]

 

可以看出,四个象限,按右上->右下->左下->左上的顺序,对应位置的值增加了4

N=3时,输出[[63, 60, 51, 48, 15, 12, 3, 0], [62, 61, 50, 49, 14, 13, 2, 1], [59, 56, 55, 52, 11, 8, 7, 4], [58, 57, 54, 53, 10, 9, 6, 5], [47, 44, 35, 32, 31, 28, 19, 16], [46, 45, 34, 33, 30, 29, 18, 17], [43, 40, 39, 36, 27, 24, 23, 20], [42, 41, 38, 37, 26, 25, 22, 21]]

四个象限,按右上->右下->左下->左上的顺序,对应位置的值增加了16

......

这是一种自相似数据,有点分形的意思。

正是因为是一种自相似的数据,所以采用递归方法来实现这个问题的求解。

与n-1对应的特殊网格,其实只是与n对应网格的右上象限部分,根据对应位置增加的值,就可以把右下、左下、左上的网格求出,然后再组合出与n对应的网格。

程序如下:

#函数根据参数n的值,返回满足条件的特殊网格
def get_n_array(n):if n==0:return [[0]]elif n==1:return [[3,0],[2,1]]else:right_up=get_n_array(n-1)k=2**(2*n-2)right_down=[]for i in right_up:a=[b+k for b in i]right_down.append(a)left_down=[]for i in right_up:a=[b+2*k for b in i]left_down.append(a)left_up=[]for i in right_up:a=[b+3*k for b in i]left_up.append(a)my_array=[]for i in range(2**(n-1)):my_array.append(left_up[i]+right_up[i])for i in range(2**(n-1)):my_array.append((left_down[i]+right_down[i]))return my_array
n=int(input('pls input n='))
a=get_n_array(n)

 

运行实例一

pls input n=0

[[0]]

运行实例二

pls input n=1

[[3, 0], [2, 1]]

运行实例三

pls input n=2

[[15, 12, 3, 0], [14, 13, 2, 1], [11, 8, 7, 4], [10, 9, 6, 5]]

运行实例四

pls input n=3

[[63, 60, 51, 48, 15, 12, 3, 0], [62, 61, 50, 49, 14, 13, 2, 1], [59, 56, 55, 52, 11, 8, 7, 4], [58, 57, 54, 53, 10, 9, 6, 5], [47, 44, 35, 32, 31, 28, 19, 16], [46, 45, 34, 33, 30, 29, 18, 17], [43, 40, 39, 36, 27, 24, 23, 20], [42, 41, 38, 37, 26, 25, 22, 21]]

运行实例五

pls input n=4

[[255, 252, 243, 240, 207, 204, 195, 192, 63, 60, 51, 48, 15, 12, 3, 0], [254, 253, 242, 241, 206, 205, 194, 193, 62, 61, 50, 49, 14, 13, 2, 1], [251, 248, 247, 244, 203, 200, 199, 196, 59, 56, 55, 52, 11, 8, 7, 4], [250, 249, 246, 245, 202, 201, 198, 197, 58, 57, 54, 53, 10, 9, 6, 5], [239, 236, 227, 224, 223, 220, 211, 208, 47, 44, 35, 32, 31, 28, 19, 16], [238, 237, 226, 225, 222, 221, 210, 209, 46, 45, 34, 33, 30, 29, 18, 17], [235, 232, 231, 228, 219, 216, 215, 212, 43, 40, 39, 36, 27, 24, 23, 20], [234, 233, 230, 229, 218, 217, 214, 213, 42, 41, 38, 37, 26, 25, 22, 21], [191, 188, 179, 176, 143, 140, 131, 128, 127, 124, 115, 112, 79, 76, 67, 64], [190, 189, 178, 177, 142, 141, 130, 129, 126, 125, 114, 113, 78, 77, 66, 65], [187, 184, 183, 180, 139, 136, 135, 132, 123, 120, 119, 116, 75, 72, 71, 68], [186, 185, 182, 181, 138, 137, 134, 133, 122, 121, 118, 117, 74, 73, 70, 69], [175, 172, 163, 160, 159, 156, 147, 144, 111, 108, 99, 96, 95, 92, 83, 80], [174, 173, 162, 161, 158, 157, 146, 145, 110, 109, 98, 97, 94, 93, 82, 81], [171, 168, 167, 164, 155, 152, 151, 148, 107, 104, 103, 100, 91, 88, 87, 84], [170, 169, 166, 165, 154, 153, 150, 149, 106, 105, 102, 101, 90, 89, 86, 85]]

找到规律,就已经成功了一半,再注意细节,精心设计程序,运行并反复调试,问题就会很快解决。

 

http://www.dtcms.com/wzjs/138285.html

相关文章:

  • 新公司董事长致辞做网站百度人工电话
  • 东莞做网站公司首选!高端seo服务
  • 青岛房产网新楼盘最好的优化公司
  • 汕头做网站的公司网站seo排名免费咨询
  • asp.net程序做的网站安全吗东莞网络推广培训
  • 网站开发与管理对应的职业及岗位寻找客户资源的网站
  • 购物有哪些平台重庆seo团队
  • 广州个人网站制作公司2023最火的十大新闻
  • 如何做一个网站平台百度网盘网页版登录入口官网
  • html5网站建设企业论文网络营销推广方案3篇
  • 天津网站建设推广服务石家庄网站建设公司
  • 支付网站开发备案域名交易平台
  • 新手做网站教程产品推销
  • 动态网站和静态网站区别网络营销专业怎么样
  • seo 网站标题字数怎么营销自己的产品
  • 网络推广网站建设有限公司现在什么app引流效果好
  • 淘宝客网站模板培训教育机构
  • 北京网站seo报价网站排名seo
  • 烟台专业做网站公司有哪些河北软文搜索引擎推广公司
  • 怎样做永久网站二维码如何进行网站的宣传和推广
  • 网站建设使用情况搜索引擎推广法
  • 建网站哪家好案例网站视频
  • 单仁做的网站推广之家官网
  • 网站开发验收申请报告seod的中文意思
  • 南充做网站的seo优化推广流程
  • 北京市网站维护公司web网页制作成品免费
  • 电话推销网站建设可以推广的软件有哪些
  • 在iis上部署的网站本机无法浏览解决方法关键词优化好
  • .net网站开发是什么对象开发上海网站建设关键词排名
  • 服务外包有哪些信息流优化师证书