LeetCode python-976. 三角形的最大周长
程序员文章站
2024-02-21 14:23:40
...
LeetCode python-976. 三角形的最大周长
先看题目:
(题目来力扣网站
思路:
拿到这道题,首先想到三个数构成三角形的条件,两边之和大于第三边和两边之差小于第三边,导致运算复杂。若已知最大的一个数,其余两个数之和大于最大的这个数,既可构成三角形。
如何判定三条边是否可以构成三角形
①排序,将给定的列表进行从大到小排序。
②满足构成三角形的条件,返回周长,不满足则返回0。
PyCharm:
class Solution:
def largestPerimeter(self, A):
arr = sorted(A,reverse=True) #此处注意sort和sorted的区别,可用A.sort(reverse=True)替换。reverse=True,表示降序排列。
lens = len(A) - 2
for i in range(lens): #从左到右遍历,从i=0起。
if arr[i] < arr[i+1] + arr[i+2]:
res = arr[i] + arr[i+1] +arr[i+2]
return res
return 0
p = Solution()#在pycharm中调试代码,在leetcode中可不写以下代码。
A = [1,2,1]
res = p.largestPerimeter(A)
print(res)
LeetCode运行结果:
第一次提交错误是因为 if arr[i] < arr[i+1] + arr[i+2]:中,将<写成了<=。
收获:
①
如何判断三条边是否可以构成三角形。
②
sort和sorted的区别:
列表对象方法:sort只能操作列表list。语法:list.sort(key=None, reverse=False)
内建函数:sorted,可以对所有可迭代对象进行排序。语法:sorted(iterable,reverse=False)
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值。
内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
python中的sort方法和sorted方法
上一篇: 编程练习——杨辉三角
推荐阅读
-
【LeetCode每日一题】[简单]976. 三角形的最大周长
-
LeetCode python-976. 三角形的最大周长
-
Leetcode每日一题:976.largest-perimeter-triangle(三角形的最大周长)
-
LeetCode - 976 - 三角形的最大周长(largest-perimeter-triangle)
-
三角形最大周长-LeetCode签到
-
动态规划 LeetCode 120.三角形的最小路径和
-
【LeetCode215】数组中的第K个最大元素【快排 堆排】
-
LeetCode 662 Maximum Width of Binary Tree 二叉树的最大宽度
-
【Leetcode每日笔记】剑指 Offer 47. 礼物的最大价值(Python)
-
LeetCode1509.三次操作后最大值与最小值的最小差