Skip to content

Commit 2370bab

Browse files
committed
feat: add javascript solution to lc problem: No.2233
No.2233.Maximum Product After K Increments
1 parent 38cb09a commit 2370bab

File tree

3 files changed

+69
-8
lines changed

3 files changed

+69
-8
lines changed

solution/2200-2299/2233.Maximum Product After K Increments/README.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,30 @@
6363

6464
```
6565

66-
### **TypeScript**
67-
68-
```ts
69-
66+
### **JavaScript**
67+
68+
```js
69+
/**
70+
* @param {number[]} nums
71+
* @param {number} k
72+
* @return {number}
73+
*/
74+
var maximumProduct = function(nums, k) {
75+
const n = nums.length;
76+
let pq = new MinPriorityQueue();
77+
for (let i = 0; i < n; i++) {
78+
pq.enqueue(nums[i]);
79+
}
80+
for (let i = 0; i < k; i++) {
81+
pq.enqueue(pq.dequeue().element + 1);
82+
}
83+
let ans = 1;
84+
const limit = 10 ** 9 + 7;
85+
for (let i = 0; i < n; i++) {
86+
ans = ans * pq.dequeue().element % limit;
87+
}
88+
return ans;
89+
};
7090
```
7191

7292
### **...**

solution/2200-2299/2233.Maximum Product After K Increments/README_EN.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,30 @@ Note that there may be other ways to increment nums to have the maximum product.
5656

5757
```
5858

59-
### **TypeScript**
60-
61-
```ts
62-
59+
### **JavaScript**
60+
61+
```js
62+
/**
63+
* @param {number[]} nums
64+
* @param {number} k
65+
* @return {number}
66+
*/
67+
var maximumProduct = function(nums, k) {
68+
const n = nums.length;
69+
let pq = new MinPriorityQueue();
70+
for (let i = 0; i < n; i++) {
71+
pq.enqueue(nums[i]);
72+
}
73+
for (let i = 0; i < k; i++) {
74+
pq.enqueue(pq.dequeue().element + 1);
75+
}
76+
let ans = 1;
77+
const limit = 10 ** 9 + 7;
78+
for (let i = 0; i < n; i++) {
79+
ans = ans * pq.dequeue().element % limit;
80+
}
81+
return ans;
82+
};
6383
```
6484

6585
### **...**
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
var maximumProduct = function(nums, k) {
7+
const n = nums.length;
8+
let pq = new MinPriorityQueue();
9+
for (let i = 0; i < n; i++) {
10+
pq.enqueue(nums[i]);
11+
}
12+
for (let i = 0; i < k; i++) {
13+
pq.enqueue(pq.dequeue().element + 1);
14+
}
15+
let ans = 1;
16+
const limit = 10 ** 9 + 7;
17+
for (let i = 0; i < n; i++) {
18+
ans = ans * pq.dequeue().element % limit;
19+
}
20+
return ans;
21+
};

0 commit comments

Comments
 (0)