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

西宁专业网站建设阿里云搜索引擎

西宁专业网站建设,阿里云搜索引擎,幼儿园网站建设方案结语,上海中学地址样例输入 3 2 2 1 3 1 2样例输出 3 2样例说明 输入的数组为:【3,1,2】 增量序列为:【2,1】 当增量 h2:对于每一个索引 i,我们会将数组元素 arr[i] 与 arr[i−h] 进行比较,并进行可…

在这里插入图片描述
样例输入

3
2
2 1
3
1
2

样例输出

3 2

样例说明
输入的数组为:【3,1,2】
增量序列为:【2,1】

  1. 当增量 h=2:对于每一个索引 i,我们会将数组元素 arr[i] 与 arr[i−h] 进行比较,并进行可能的交换。

    • i=2:
      arr[2]=2,arr[0]=3。因为 2<3,所以交换它们。
      数组变为:[2,1,3]。
      这里进行了 1 次比较和 1 次交换。
      注意:对于 i=0 和 i=1,由于它们的索引小于增量值 2,所以不会进行任何操作。
      这里相当于希尔排序的gap=2
  2. 当增量 h=1:这就是一个普通的插入排序。

    • i=1:arr[1]=1,arr[0]=2。因为 1<2,所以交换它们。
      数组变为:[1,2,3]。
      这里进行了 1 次比较和 1 次交换。
    • i=2:arr[2]=3,arr[1]=2。因为 3>2,所以不交换。
      这里进行了 1 次比较。

总结:总共进行了 3 次比较,2 次交换。

解题思路

这里的订单属性值数组相当于订单大小的a数组

这里的增量数组就相当于是希尔排序里面的gap数组。

用希尔排序模板写代码即可

代码

# 订单数组的长度
n=int(input())
# a表示订单的属性值(大小)
a=[]
# 增量(gap)的长度
m=int(input())
gap=list(map(int,input().split()))
for _ in range(n):a.append(int(input()))
compare=0
exchange=0
for k in range(m):g=gap[k]for i in range(g,n):tmp=a[i]j=iwhile j >= g:compare += 1if a[j-g] > tmp:a[j] = a[j-g]exchange += 1j -= gelse:breaka[j]=tmp
print(' '.join(map(str,[compare,exchange])))
http://www.zhongyajixie.com/news/17919.html

相关文章:

  • 网站开发建设价格附件开发网站建设公司
  • 有什么推荐的网站网站优化外包推荐
  • 网站开发第三方登录设计站长查询域名
  • 海尔集团网站建设新媒体运营培训课程
  • 大悟网站开发百度经验手机版官网
  • 长沙有什么好玩的地方一日游seo兼职工资一般多少
  • 网站开发后期要解决的问题无安全警告的浏览器
  • 常做网站首页的文件名客服网站搭建
  • 做logo去哪个网站深圳推广
  • 做网站 工资高吗网站宣传文案范例
  • 做中医诊所网站百度推广技巧
  • 免费做公司网站多少关键词排名优化软件
  • 合肥大型网站开发公司seo资讯网
  • 最全的域名注册seo问答
  • 三网合一网站模板客户管理软件哪个好用
  • 网站制作什么语言最好免费手机网页制作
  • 网站开发gif图太多耗资源吗福州网站建设方案外包
  • 网站备案查询不出来seopc流量排行榜企业
  • 从什么网站建网站好互联网广告公司排名前十
  • h5网站设计百度热搜大数据
  • 网站建设硬件需求关键词挖掘网站
  • 交友网站都有哪些功能模块谷歌搜索引擎为什么打不开
  • 建设聚美优品网站收流量费吗3seo
  • 湖南做电商网站需要什么条件企业建站系统
  • 中国三北防护林体系建设网站seo搜索引擎优化平台
  • 女装网站建设福州网站优化
  • 昆明网站建设在河科技优化大师是什么意思
  • 网络优化工程师需要具备哪些能力seo云优化软件
  • 专业团队图片素材安卓优化大师下载安装到手机
  • 网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些外贸出口平台网站