1304. 和为零的N个唯一整数----LeetCode(java实现)

解题思路:

这里要构建的是这样的数组:

(1)数组长度是偶数时,假设数组长度是4,则输出数组是[-2,-1,1,2]。

(2)数组长度是奇数时,假设数组长度是5,则输出数组是[-2,-1,0,1,2]。

1>创建一个长度为n的数组,在创建的同时数组被初始化为0

2>无论是n是奇数还是偶数,我们只需要将数组分为两半,分别给两边赋值,未被再次赋值的数组,其值为0。对比待输出的结果数组可以发现,我们的数组左右两边是取反的关系,所以实际赋值遍历时只需要取长度的一半,另一半可以通过取反获得。

class Solution {
    public int[] sumZero(int n) {
        int[] res=new int[n];
        int left=n/2;

        for(int i=0;i

 

你可能感兴趣的:(LeetCode)