# 2028. Find Missing Observations
###### tags: `Leetcode` `Medium` `Math`
Link: https://leetcode.com/problems/find-missing-observations/description/
## 思路
首先算出n个observation的和
如果invalid直接回传空的array或者list
然后算出平均数d和余数r 前r个roll我们设成d+1 后面的都设成d 就能得到一个答案
注意python 如果直接写```d=sum/n``` 得到的```d```是小数 可以用```divmod(a,b)```直接得到结果
## Code
```java=
class Solution {
public int[] missingRolls(int[] rolls, int mean, int n) {
int sum = mean*(rolls.length+n);
for(int roll:rolls) sum -= roll;
if(sum > 6*n || sum < n) return new int[]{};
int d = sum/n;
int r = sum%n;
int[] ans = new int[n];
for(int i=0; i<n; i++){
if(i<r) ans[i] = d+1;
else ans[i] = d;
}
return ans;
}
}
```
```python=
class Solution:
def missingRolls(self, rolls: List[int], mean: int, n: int) -> List[int]:
sum = mean*(len(rolls)+n)
for roll in rolls: sum -= roll
if sum>6*n or sum<n: return []
# d = sum//n
# r = sum%n
d,r = divmod(sum, n)
ans = []
for i in range(n):
if i<r: ans.append(d+1)
else: ans.append(d)
return ans
```