Skip to content

Commit 44433a2

Browse files
committedJun 20, 2023
✨ [2090] Sliding windows <333
1 parent b3c4f2d commit 44433a2

File tree

2 files changed

+66
-13
lines changed

2 files changed

+66
-13
lines changed
 

‎2090/my_solution.js

+37-7
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,55 @@ const getAverages = (nums, k) => {
77
if (k === 0) return nums;
88
let result = [];
99

10+
let sum = 0;
11+
for (let i = 0; i < (k * 2); i++) {
12+
sum += nums[i];
13+
}
14+
console.log("sum:" + sum)
15+
1016
for (let i = 0; i < nums.length; i++) {
1117
if (i < k || i + k >= nums.length) {
1218
result.push(-1);
1319
continue;
1420
}
1521

16-
let tmpSum = 0;
17-
console.log(`> ${i} `)
18-
for (let j = i - k; j < i + k + 1; j++) {
19-
console.log(`from ${j} to ${i + k}`)
20-
tmpSum += nums[j];
21-
}
22+
if (undefined !== nums[i - k - 1]) sum -= nums[i - k - 1];
23+
sum += nums[i + k];
2224

23-
result.push(Math.floor(tmpSum / ((k * 2) + 1)));
25+
// for (let j = i - k; j < i + k + 1; j++) {
26+
// console.log(`from ${j} to ${i + k}`)
27+
// tmpSum += nums[j];
28+
// }
29+
30+
result.push(Math.floor(sum / ((k * 2) + 1)));
2431
}
2532

2633
return result;
2734
};
2835

36+
// const getAverages = (nums, k) => {
37+
// if (k === 0) return nums;
38+
// let result = [];
39+
//
40+
// for (let i = 0; i < nums.length; i++) {
41+
// if (i < k || i + k >= nums.length) {
42+
// result.push(-1);
43+
// continue;
44+
// }
45+
//
46+
// let tmpSum = 0;
47+
// console.log(`> ${i} `)
48+
// for (let j = i - k; j < i + k + 1; j++) {
49+
// console.log(`from ${j} to ${i + k}`)
50+
// tmpSum += nums[j];
51+
// }
52+
//
53+
// result.push(Math.floor(tmpSum / ((k * 2) + 1)));
54+
// }
55+
//
56+
// return result;
57+
// };
58+
2959
let x = null;
3060
// 9
3161
// _ _

‎2090/solution.js

+29-6
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,43 @@ const getAverages = (nums, k) => {
77
if (k === 0) return nums;
88
let result = [];
99

10+
let sum = 0;
11+
for (let i = 0; i < (k * 2); i++) {
12+
sum += nums[i];
13+
}
14+
1015
for (let i = 0; i < nums.length; i++) {
1116
if (i < k || i + k >= nums.length) {
1217
result.push(-1);
1318
continue;
1419
}
1520

16-
let tmpSum = 0;
17-
console.log(`> ${i} `)
18-
for (let j = i - k; j < i + k + 1; j++) {
19-
tmpSum += nums[j];
20-
}
21+
if (undefined !== nums[i - k - 1]) sum -= nums[i - k - 1];
22+
sum += nums[i + k];
2123

22-
result.push(Math.floor(tmpSum / ((k * 2) + 1)));
24+
result.push(Math.floor(sum / ((k * 2) + 1)));
2325
}
2426

2527
return result;
2628
};
29+
// const getAverages = (nums, k) => {
30+
// if (k === 0) return nums;
31+
// let result = [];
32+
//
33+
// for (let i = 0; i < nums.length; i++) {
34+
// if (i < k || i + k >= nums.length) {
35+
// result.push(-1);
36+
// continue;
37+
// }
38+
//
39+
// let tmpSum = 0;
40+
// console.log(`> ${i} `)
41+
// for (let j = i - k; j < i + k + 1; j++) {
42+
// tmpSum += nums[j];
43+
// }
44+
//
45+
// result.push(Math.floor(tmpSum / ((k * 2) + 1)));
46+
// }
47+
//
48+
// return result;
49+
// };

0 commit comments

Comments
 (0)