976. Largest Perimeter Triangle
Given an array
Aof positive lengths, return the largest perimeter of a triangle with non-zero area, formed from 3 of these lengths.If it is impossible to form any triangle of non-zero area, return
0.
Example 1:
Input: [2,1,2]
Output: 5Example 2:
Input: [1,2,1]
Output: 0Example 3:
Input: [3,2,3,4]
Output: 10Example 4:
Input: [3,6,2,3]
Output: 8
Note:
3 <= A.length <= 100001 <= A[i] <= 10^6
Approach #1: Math. [Java]
class Solution {
public int largestPerimeter(int[] A) {
Arrays.sort(A);
int n = A.length;
// Integer[] arr = new Integer[A.length];
// for (int i = 0; i < A.length; ++i)
// arr[i] = A[i];
// Arrays.sort(A, new Comparator<Integer>() {
// @Override
// public int compare(Integer a, Integer b) {
// return b - a;
// }
// });
// Arrays.sort(arr, (Integer a, Integer b) -> b - a);
// Arrays.sort(arr, Collections.reverseOrder());
for (int i = n - 1; i >= 0; --i) {
for (int j = i - 1; j >= 0; --j) {
for (int k = j - 1; k >= 0; --k) {
if (A[k] + A[j] > A[i]) {
return A[k] + A[j] + A[i];
}
}
}
}
return 0;
}
}
Analysis:
There three ways to realise reverse array, but the permise is that array's type must is object. so we have to change the type of A, If we do so, it will TEL.
Approach #2: Math. [Java]
class Solution {
public int largestPerimeter(int[] A) {
int c = max(A);
int b = max(A);
int a = max(A);
for(int i = 2; i < A.length; i++) {
if(c < a + b)
return a + b + c;
else {
c = b;
b = a;
a = max(A);
}
}
return 0;
}
int max(int[] A) {
int m = A[0];
int index = 0;
for(int i = 1; i < A.length; i++) {
if(A[i] > m) {
m = A[i];
index = i;
}
}
A[index] = -1;
return m;
}
}
976. Largest Perimeter Triangle的更多相关文章
- 【Leetcode_easy】976. Largest Perimeter Triangle
problem 976. Largest Perimeter Triangle solution: class Solution { public: int largestPerimeter(vect ...
- LeetCode 976 Largest Perimeter Triangle 解题报告
题目要求 Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero ...
- 【leetcode】976. Largest Perimeter Triangle
题目如下: Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero ...
- 【LeetCode】976. Largest Perimeter Triangle 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序 日期 题目地址:https://leetcod ...
- LeetCode 976. Largest Perimeter Triangle (三角形的最大周长)
题目标签:Array 题目给了我们一个 边长的 array, 让我们找出 最大边长和的三角形,当然前提得是这三条边能组成三角形.如果array 里得边长组成不了三角形,返回0. 最直接的理解就是,找到 ...
- 「Leetcode」976. Largest Perimeter Triangle(C++)
分析 好久不刷题真的思维僵化,要考虑到这样一个结论:如果递增的三个数\(x_i,x_{i+1},x_{i+2}\)不符合题意,那么最大的两边之差一定大于等于第一条边,那么任何比第一条边小的都不能成立. ...
- Leetcode 976. Largest Perimeter Triangle
送分题 class Solution(object): def largestPerimeter(self, A): """ :type A: List[int] :rt ...
- LeetCode 976. 三角形的最大周长(Largest Perimeter Triangle) 33
976. 三角形的最大周长 976. Largest Perimeter Triangle 题目描述 给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的.面积不为零的三角形的最大周长. ...
- [Swift]LeetCode976. 三角形的最大周长 | Largest Perimeter Triangle
Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero area, ...
随机推荐
- python进阶(12)闭包
闭包 首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用 ...
- nacos服务注册之服务器端Distro
一致性协议算法Distro阿里自己的创的算法吧,网上能找到的资料很少.Distro用于处理ephemeral类型数据 Distro协议算法看代码大体流程是: nacos启动首先从其他远程节点同步全部数 ...
- 后端程序员之路 41、BlockingQueue
BlockingQueue,阻塞队列,常用于实现生产者和消费者模型特点:1.队列为空时,取操作会等到队列有数据2.队列满时,存操作会等到队列可用 基于C++11的阻塞队列简单实现 - Cynric 的 ...
- 基于Hi3559AV100 RFCN实现细节解析-(2)RFCN数据流分析
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,整个过程涉及到VI.VDEC.VPSS.VGS.VO.NNIE,其中涉及的内容,大家可以参考之前我写的博客: Hi3559AV100的 ...
- 我的2019年总结和一些2020年的flag
我的2019年总结和一些2020年的flag 前言 2019年在我的人生中注定是里程碑的一年,主要是我毕业了.本篇总结主要聊一些2019年经历的事以及对于自己2020年的期待 1. 再见2019 1. ...
- gpfdist原理解析
gpfdist原理解析 前言:gpfdist作为批量向postgresql写入数据的工具,了解其内部原理有助于正确使用以及提供更合适的数据同步方案.文章先简要介绍gpfdist的整体流程,然后针对重要 ...
- P3387 【模板】缩点 题解 (Tarjan)
题目链接 P3387 [模板]缩点 解题思路 这几天搞图论,好有趣hhh,多写几篇博客. 上次学\(Tarjan\)求割点,这次缩点. 思路大概是多一个栈和染色的步骤,每次\(Tarjan\)的时候把 ...
- 如何使用Typora写博客
如何写博客及Typora的使用 Typora Typora是写好博客的一个重要的软件,下面我们来介绍如何安装以及使用它 安装 官网下载Typora 较慢,首先附上Typora安装包: 链接:https ...
- ch1_6_7求解数字排序问题
import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.Sca ...
- 剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知 ...