小E君自助餐厅流量分析
问题描述
小E君需要根据每天的客流量数据进行分析,以制定自助餐厅的备货策略。她需要计算前i天的客流量平均值,并将其四舍五入为整数。给定餐厅营业的总天数N以及每天的客流量数据Ri,你需要输出一个长度为N的序列,其中第i个值表示前i天的平均客流量。要求所有输出结果四舍五入到最接近的整数。
测试样例
样例1:
输入:N = 5 ,R = [1, 2, 3, 4, 10]
输出:[1, 2, 2, 3, 4]
样例2:
输入:N = 3 ,R = [5, 10, 15]
输出:[5, 8, 10]
题解
模拟。 c++写法
#include <iostream>
#include <vector>
#include <string>
#include<cmath>
using namespace std;vector<int> solution(int N, vector<int> R) {// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE// write code herevector<int> res(N, 0);int tmp = 0;for (int i = 0; i < N; i++) {tmp += R[i];res[i] = round(tmp * 1.0 / (i+1));}return res;
}
Java写法
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class Main {public static int[] solution(int N, int[] R) {// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE// write code hereint sum = 0;List<Integer> res = new ArrayList<Integer>(N); for (int i = 0; i < N; i++) {sum += R[i];int tmp = Long.valueOf((Math.round(sum * 1.0 / (i+1)))).intValue();res.add(tmp);}return res.stream().mapToInt(Integer::intValue) // 将 Integer 转为 int.toArray();}