561.数组拆分

原文链接:https://leetcode-cn.com/problems/array-partition-i/

题目:

思路分析:这道题是给定一个长度为2n的数组,然后我们将这些数分成n对,

1.将数组元素进行升序排序。

2.遍历数组,将角标为偶数的数组元素进行累加。

3.最后返回累加的结果。

源代码:

class Solution {
    public int arrayPairSum(int[] nums) {
        //insertSort(nums);
        Arrays.sort(nums);
        int sum = 0;
        for(int i = 0;i < nums.length;i+=2){
            sum+=nums[i];
        }
        return sum;
    }
    public static int[] insertSort(int[] nums){
        int e;
        int j;
        for(int i = 1;i < nums.length;i++){
            e = nums[i];
            for(j = i;j > 0 && nums[j - 1] > e;j--){
                nums[j] = nums[j - 1];
            }
            nums[j] = e;
        }
        return nums;
    }
}
发布了31 篇原创文章 · 获赞 30 · 访问量 5781

猜你喜欢

转载自blog.csdn.net/Agonyq/article/details/104448402