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的前三个元素。

运行效果展示:

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

相关推荐
_dindong1 小时前
牛客101:二叉树
数据结构·c++·笔记·学习·算法
数字化脑洞实验室2 小时前
如何理解不同行业AI决策系统的功能差异?
大数据·人工智能·算法
阿郎_20112 小时前
python自动化脚本-简化留言
python·自动化
人邮异步社区3 小时前
推荐几本学习计算机语言的书
java·c语言·c++·python·学习·golang
小白菜又菜6 小时前
Leetcode 3370. Smallest Number With All Set Bits
算法·leetcode·职场和发展
星谷罗殇6 小时前
(七)TRPO 算法 & PPO 算法
算法·机器学习
gfdgd xi6 小时前
GXDE 内核管理器 1.0.1——修复bug、支持loong64
android·linux·运维·python·ubuntu·bug
递归不收敛7 小时前
专属虚拟环境:Hugging Face数据集批量下载(无登录+国内加速)完整指南
人工智能·笔记·git·python·学习·pycharm
我是小邵7 小时前
主流数据分析工具全景对比:Excel / Python / R / Power BI / Tableau / Qlik / Snowflake
python·数据分析·excel
国服第二切图仔8 小时前
Rust开发之使用Trait对象实现多态
开发语言·算法·rust