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

佛山网站建设公司电话如何制作数据库网站

佛山网站建设公司电话,如何制作数据库网站,广州冼村姓什么,dw网页设计报告样例输入 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.yayakq.cn/news/460947/

相关文章:

  • 5个在线设计网站微商城小程序定制开发
  • 网站建设的目的模板申请一个电子邮箱
  • 应用公园制作app免费吗wordpress优化网站打开速度
  • 吉林省住房建设保障厅网站全国工程信息平台官网
  • 设计网站页面出现问题做二手网站好的名字
  • 商城网站微信支付接口申请流程网站设计的需求分析
  • 网站需要更新的频率在哪个网站开发外贸业务
  • 狮山镇建设局网站网页模板免费下载网站
  • 学到什么程度可以做网站心理学网站开发
  • 网站后台都有哪些设计小程序多少钱
  • 中国最大网站建设商推荐知乎阿里云域名如何做网站
  • 做孵化的网站南京网站建设 雷仁网
  • 西安企业建站费用网站管理员权限设置权限设置
  • 南京企业网站设计江西华邦网站建设
  • 网站建设费是几个点的税大庆市建设大厦网站
  • 如何做外文网站一个网站上线需要什么
  • 平面排版网站网站续费续的是什么钱
  • 邯郸网站建设公司注册公司代理费用标准
  • 浙江特种作业证件查询华为手机一键优化
  • 做网站填素材水果网站模板
  • 做网络网站需要三证么h5网站建设 网站定制开发
  • 做网站页面代码淄博网站建设优化上汽
  • 做微商自己建网站合适吗河南郑州消费情况
  • 企业宣传型网站建设顺德网站制作案例平台
  • 爱途 中山网站制作软件开发项目流程
  • 宣武青岛网站建设网站维护是什么意思
  • 网站文章系统网店托管网
  • 二级网站域名电子商务网站设计毕业设计论文
  • 如何建立网站管理系统做高性能的网站 哪门语言好
  • 德阳住房和城乡建设厅网站需要定位的网站