python-小理的三角形

题目描述

小理有一个数组长度大小为 n ,数组中有 n 个正整数。

现在小理请你从其中选出三个元素(注意选择元素的下标不能相同,但是其值可以相同)组成一个三角形。

无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种。
输入格式

第一行是一个正整数 n 表示数组的元素个数。

接下来一行输入 n 个正整数 ai​ 表示每个数组元素的值。
输出格式

如无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种。
样例输入输出
样例输入#1

5

2 2 3 2 2
样例输出#1

2 2 3
样例输入#2

3

1 2 1
样例输出#2

No solution
数据范围

对于 100% 的数据,保证 1≤n≤100,1≤ai​≤109 。
提示说明

样例# 1 :使用 2 2 3 ,可以组成一个三角形。

样例# 2 :使用 1 2 1 ,不能组成一个三角形,无解。

来源/分类(难度系数:四星
二分查找 搜索 暴力 枚举

完整代码展示:

n=int(input())

list_1=list(map(int,input().split()))

list_5=[]

sum=0

for i in range(0,len(list_1)):

list_2=list_1[:]

list_2.remove(list_2[i])

for j in range(0,len(list_2)):

list_3=list_2[:]

list_3.remove(list_2[j])

for k in range(0,len(list_3)):

list_4=[list_1[i],list_2[j],list_3[k]]

list_4.sort()

if list_4[-1]<list_4[0]+list_4[1]:

sum+=1

list_5.append(list_1[i])

list_5.append(list_2[j])

list_5.append(list_3[k])

if sum==0:

print("No solution")

else:

print(list_5[0],list_5[1],list_5[2])

代码解释

"n=int(input()) ",让用户输入数组中的元素数量n。

"list_1=list(map(int,input().split()) ",让用户输入数组中的元素,并将起储存在list_1中。

"sum=0
for i in range(0,len(list_1)):
list_2=list_1[:]
list_2.remove(list_2[i])
for j in range(0,len(list_2)):
list_3=list_2[:]
list_3.remove(list_2[j])
for k in range(0,len(list_3)):
list_4=[list_1[i],list_2[j],list_3[k]]
list_4.sort()
if list_4[-1]<list_4[0]+list_4[1]:
sum+=1
list_5.append(list_1[i])
list_5.append(list_2[j])
list_5.append(list_3[k])
",sum为能组成三角形的元素组合的数量。任意抽取list_1中的三个元素,并将这三个元素储存在列表list_4。接着对list_4中的元素进行升序排序,判断list_4中的最大元素是否大于最小和次小元素之和:如果是,则让sum+1,将这三个元素添加进list_5中。

"if sum==0:
print("No solution")
else:
print(list_5[0],list_5[1]
",判断sum是否为0,如果是:输出对应结果,否则打印list_5的前三个元素。

运行效果展示:

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

相关推荐
veminhe2 分钟前
python(五)rag学习一:02向量
python
_F_y4 分钟前
仿RabbitMQ实现消息队列-客户端模块实现
c++·算法·rabbitmq
河西石头6 分钟前
听AI的血的教训!PPOCRLabel部署与PyQt5的安装避坑-百分百成功!
开发语言·人工智能·python·pyqt5安装·ppocrlabel的部署
BU摆烂会噶7 分钟前
【LangGraph】 流式处理入门
人工智能·python·langchain·人机交互
一只小小的芙厨16 分钟前
KMP总结
算法
计算机毕业编程指导师21 分钟前
【Python大数据项目推荐】基于Hadoop+Django脑卒中风险分析系统源码解析 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·脑卒中
bestcxx37 分钟前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
装杯让你飞起来啊37 分钟前
Kotlin 条件判断 if / when 与智能转换 smart cast
开发语言·python·kotlin
生成论实验室1 小时前
《事件关系阴阳博弈动力学:识势应势之道》第十一篇:双脑协同——WOLM与大模型的共生智能
人工智能·算法·语言模型·架构·创业创新
计算机毕业编程指导师1 小时前
【大数据毕设推荐】Hadoop+Spark电影票房分析系统,Python+Django全栈实现 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·电影票房