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

python-求距离(赛氪OJ)

[题目描述]
给你一个 1−>n 的排列,现在有一次机会可以交换两个数的位置,求交换后最小值和最大值之间的最大距离是多少?
输入格式:
输入共两行。
第一行一个数 n 。
第二行 n 个数表示这个排列。
输出格式:
输出一行一个数表示答案。
样例输入
5
4 5 1 3 2
样例输出
3
数据范围
对于 100% 的数据,保证1≤n≤100。
样例解释:
把 1 和 2 交换后,序列为 4 5 2 3 1,最大值 5 在数组的 2 位置,最小值 1 在数组的 5 位置,距离为 3。
来源/分类(难度系数:三星)
枚举 模拟 


完整代码展示:
n=int(input())
list_1=list(map(int,input().split()))
list_2=[]
list_3=[]
for i in range(0,len(list_1)):
      if list_1[i]==max(list_1):
          list_2.append(i+1)
     elif list_1[i]==min(list_1):
          list_3.append(i+1)
list_4=[abs(list_2[0]-1),abs(list_2[0]-len(list_1)),abs(list_3[0]-1),abs(list_3[0]-len(list_1))]
print(len(list_1)-min(list_4)-1)


代码解释:
n=int(input())
 list_1=list(map(int,input().split()))
”,让用户输入数值的数量n,接着让用户依次输入各数值,并将其储存在列表list_1中。
list_2=[]
 list_3=[]
 for i in range(0,len(list_1)):
       if list_1[i]==max(list_1):
            list_2.append(i+1)
      elif list_1[i]==min(list_1):
            list_3.append(i+1)     
”,建立两个空列表list_2,list_3,接着依次遍历列表list_1中的元素,将list_1中的最大元素的位置添加进list_2中,最小元素的位置添加进list_3中。
list_4=[abs(list_2[0]-1),abs(list_2[0]-   len(list_1)),abs(list_3[0]-1),abs(list_3[0]-len(list_1))]                                                       ”,分别将list_2,list_3中的元素减去1或len(list_1)的绝对值储存在列表list_4中。
print(len(list_1)-min(list_4)-1)  ”,打印len(list_1)-min(list_4)-1的结果。


运行效果展示:

d9aa71a3f01b431fb14e123b118b1e9b.jpg

f717541b8c2f4669b9af76cb2b822032.jpg  (声明:以上内容均为原创)

 

http://www.lryc.cn/news/428574.html

相关文章:

  • 《第二十一章 传感器与定位 - 传感器应用》
  • Windows系统命令
  • C语言函数递归
  • 【python数据分析11】——Pandas统计分析(分组聚合进行组内计算)
  • 高性能web服务器
  • 微服务案例搭建
  • SAP负库存
  • 集团数字化转型方案(三)
  • ESP32智能设备:蓝牙音箱、AI语音助手、环境监测与调节以及智能控制,基于BLE与MQTT技术(代码详解)
  • web渗透测试 学习导图
  • WordPress禁止后台自定义功能
  • (六)Flink 窗口计算
  • SQL 布尔盲注 (injection 第六关)
  • OpenAI 重回巅峰:ChatGPT-4O 最新模型超越谷歌 Gemini 1.5,多项测试夺冠!
  • 软件工程(2)面向对象方法:Booch方法与开发实例
  • 高阶面试-concurrentHashMap的整理
  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)
  • 【人工智能】Python融合机器学习、深度学习和微服务的创新之路
  • Stability AI发布了单目视频转4D模型的新AI模型:Stable Video 4D
  • 网站如何被Google收录?
  • LearnOpenGL——法线贴图、视差贴图学习笔记
  • 界面优化 - 绘图
  • 死锁问题分析和解决——资源回收时
  • 【Java】效率工具模板的使用
  • c++指南 -指针和引用
  • [CISCN 2023 华北]ez_date
  • 前端不同项目使用不同的node版本(Volta管理切换)
  • Ropdump:针对二进制可执行文件的安全检测工具
  • Quartz - 定时任务框架集成
  • GoModule