挑战程序设计1.6.1 Instance1——三角形

来源:互联网 发布:mac蓝光原盘怎么播放 编辑:程序博客网 时间:2024/05/18 00:11

有n跟棍子,棍子i的长度是ai。想要从中选出3跟棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0

nlogn解法

排序,然后不断看最长的那根能不能满足要求

import java.util.Arrays;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int n = scanner.nextInt();        int ans[] = new int[n];        for(int i = 0; i < n; ++i) ans[i] = scanner.nextInt();        Arrays.sort(ans);        int max_len = 0;        for(int i= n-1; i >= 2; --i) {            if(ans[i] < ans[i-1] + ans[i-2]) {                max_len = ans[i] + ans[i-1] + ans[i-2];                break;            }        }        System.out.println(max_len);    }}
0 0
原创粉丝点击