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

运行效果展示:

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

相关推荐
武子康2 分钟前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
deephub3 分钟前
Tokenformer:基于参数标记化的高效可扩展Transformer架构
人工智能·python·深度学习·架构·transformer
Open-AI20 分钟前
Python如何判断一个数是几位数
python
极客代码23 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
义小深25 分钟前
TensorFlow|咖啡豆识别
人工智能·python·tensorflow
疯一样的码农29 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
passer__jw76730 分钟前
【LeetCode】【算法】283. 移动零
数据结构·算法·leetcode
Ocean☾37 分钟前
前端基础-html-注册界面
前端·算法·html
顶呱呱程序1 小时前
2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
算法·matlab·音视频·matlab-gui·音频滤波·脉冲响应不变法
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法