鱼C论坛

 找回密码
 立即注册
查看: 1770|回复: 8

最小值和首位交换,最小=大值和末位交换,两种思路一个正确一个错误50%

[复制链接]
发表于 2020-1-18 12:59:12 | 显示全部楼层 |阅读模式
5鱼币
题目描述:
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
样例输入:
2 1 3 4 5 6 7 8 10 9
样例输出:
1 2 3 4 5 6 7 8 9 10

解法二错误50%但是没找到原因,求解

解法一:找出列表中最小值和最大值,然后遍历列表,值等于最小值就与首位交换,最大值同理,oj正确,代码如下:
  1. list=list(map(int,input().split())) #输入10个数,转化为列表
  2. a=min(list)
  3. b=max(list)
  4. for i in range(len(list)):
  5.     if list[i] == a:
  6.         list[i]=list[0]
  7.         list[0]=a
  8.     elif list[i]==b:
  9.         list[i]=list[len(list)-1]
  10.         list[len(list)-1]=b
  11.     else:
  12.         pass
  13. for i in list:
  14.     print(i,end=' ')
复制代码

解法二:找出列表中最小值的位置序号,然后直接和列表首位交换,最大值同理,oj错误50%,代码如下:
  1. lis=list(map(int,input().strip().split()))
  2. minindex=lis.index(min(lis))
  3. manindex=lis.index(max(lis))
  4. lis[minindex],lis[0]=lis[0],lis[minindex]
  5. lis[manindex],lis[-1]=lis[-1],lis[manindex]
  6. for i in lis:
  7.     print(i,end=' ')   
  8.    
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-18 15:19:34 | 显示全部楼层
写三个函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-18 17:40:52 | 显示全部楼层
相等的情况呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-18 18:14:27 | 显示全部楼层

正确解法一也没有写成三个函数,而且我的解法二一开始是写成三个函数的形式,结果也是错误50%
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-18 18:16:37 | 显示全部楼层

举例如下:
  1. 原始数据---2116
  2. 第一次交换----1216
  3. 当发现第3位==最小值,交换---1216   #结果无非是1和1交换,不影响结果
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-18 18:36:38 | 显示全部楼层
错误50%这个是怎么来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-18 20:48:38 | 显示全部楼层
hrp 发表于 2020-1-18 18:36
错误50%这个是怎么来的

我就是想问这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-19 16:41:27 | 显示全部楼层
看不到测试用例吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-20 21:40:02 | 显示全部楼层
AmosAlbert 发表于 2020-1-19 16:41
看不到测试用例吗?

看不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 17:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表