1304. 和为零的N个唯一整数

 

这里我们采用计算后续n-1位的和,最后直接取反赋值给第0位元素

 1 public int[] sumZero(int n) {
 2         int[] ans = new int[n];
 3         int sum = 0;
 4         for(int i = 1; i < n; i++) {
 5             ans[i] = i;
 6             sum -=i;
 7         }
 8         // 1. 只有1个元素时直接置0 
 9         // 2. 将后n-1位的和计算得出后直接赋值 
10         ans[0] = sum;
11         return ans;
12     }

 

posted @ 2021-05-10 11:53  jchen104  阅读(33)  评论(0编辑  收藏  举报