3452.ts 755 B

12345678910111213141516171819202122232425262728293031
  1. // 3452. Sum of Good Numbers
  2. function sumOfGoodNumbers(nums: number[], k: number): number {
  3. let sum = 0;
  4. let i: number = 0;
  5. const limit: number = nums.length;
  6. while ( i < limit ) {
  7. let v: number = nums[i];
  8. let lg: boolean = true;
  9. if ( i-k >= 0 ) { lg = v > nums[i-k]; }
  10. let rg: boolean = true;
  11. if ( i+k < limit ) { rg = v > nums[i+k]; }
  12. if ( lg == true && rg == true ) { sum += v; }
  13. ++i;
  14. }
  15. return sum;
  16. };
  17. function main() {
  18. function r(nums: number[], k: number, exp: number) {
  19. console.log(`sumOfGoodNumbers([${nums}], ${k}) = ${sumOfGoodNumbers(nums, k)} | exp: ${exp}`)
  20. }
  21. r([1,3,2,1,5,4], 2, 12)
  22. r([2,1], 1, 2)
  23. r([45,38,20], 1, 45)
  24. }
  25. main()