class Solution {
public:
double findMaxAverage(vector<int>& nums, int k) {
int maxsum = INT_MIN;
int sum = 0;
// k = min((size_t)k, nums.size());
for (int i = 0; i < nums.size(); i++) {
sum += nums[i];
if (i >= k) {
sum = nums[i  k];
}
if (i >= k  1) {
maxsum = max(maxsum, sum);
}
}
return (double)maxsum / k;
}
};
[C++] Clean Code


Can this be done using a HashTable, something along the lines of SubArray sum equals
k
?

@lkjhgfdsa I have tried, but unfortunately, if you want to make the sum of k numbers be the hash function and sort their order according to their sum which act as their index in hash table, then just search the max index, you will find out that the run time is too much.