|
|
@@ -0,0 +1,31 @@
|
|
|
+// 3452. Sum of Good Numbers
|
|
|
+
|
|
|
+function sumOfGoodNumbers(nums: number[], k: number): number {
|
|
|
+ let sum = 0;
|
|
|
+ let i: number = 0;
|
|
|
+ const limit: number = nums.length;
|
|
|
+ while ( i < limit ) {
|
|
|
+ let v: number = nums[i];
|
|
|
+ let lg: boolean = true;
|
|
|
+ if ( i-k >= 0 ) { lg = v > nums[i-k]; }
|
|
|
+ let rg: boolean = true;
|
|
|
+ if ( i+k < limit ) { rg = v > nums[i+k]; }
|
|
|
+
|
|
|
+ if ( lg == true && rg == true ) { sum += v; }
|
|
|
+
|
|
|
+ ++i;
|
|
|
+ }
|
|
|
+ return sum;
|
|
|
+};
|
|
|
+
|
|
|
+function main() {
|
|
|
+ function r(nums: number[], k: number, exp: number) {
|
|
|
+ console.log(`sumOfGoodNumbers([${nums}], ${k}) = ${sumOfGoodNumbers(nums, k)} | exp: ${exp}`)
|
|
|
+ }
|
|
|
+
|
|
|
+ r([1,3,2,1,5,4], 2, 12)
|
|
|
+ r([2,1], 1, 2)
|
|
|
+ r([45,38,20], 1, 45)
|
|
|
+}
|
|
|
+
|
|
|
+main()
|