LeetCode32--按奇偶排序数组II和三角形的最大周长

1.按奇偶排序数组II和三角形的最大周长

//给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 
//
// 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 
//
// 你可以返回任何满足上述条件的数组作为答案。 
//
// 
//
// 示例: 
//
// 输入:[4,2,5,7]
//输出:[4,5,2,7]
//解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。
// 
//
// 
//
// 提示: 
//
// 
// 2 <= A.length <= 20000 
// A.length % 2 == 0 
// 0 <= A[i] <= 1000 
// 
//
// 
// Related Topics 排序 数组
public int[] sortArrayByParityII(int[] A) {
        int[] arr = new int[A.length];
        int j = 0;
        int k = 0;
        for (int i = 0; i < A.length; i++) {
            if(A[i] % 2 == 0){
                arr[2*j] = A[i];
                j++;
            }else{
                arr[2*k+1] = A[i];
                k++;
            }
        }
        return arr;
    }

 2.三角形的最大周长

//给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。 
//
// 如果不能形成任何面积不为零的三角形,返回 0。 
//
// 
//
// 
// 
//
// 示例 1: 
//
// 输入:[2,1,2]
//输出:5
// 
//
// 示例 2: 
//
// 输入:[1,2,1]
//输出:0
// 
//
// 示例 3: 
//
// 输入:[3,2,3,4]
//输出:10
// 
//
// 示例 4: 
//
// 输入:[3,6,2,3]
//输出:8
// 
//
// 
//
// 提示: 
//
// 
// 3 <= A.length <= 10000 
// 1 <= A[i] <= 10^6 
// 
// Related Topics 排序 数学
public int largestPerimeter(int[] A) {
        Arrays.sort(A);
        for (int i = A.length-1; i >= 2; i--) {
            if(A[i-2] + A[i-1] > A[i]){
                return (A[i-2]+A[i-1]+A[i]);
            }
        }
        return 0;
    }

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页