Skip to content

Commit b46553e

Browse files
committed
add 3712
1 parent 7721909 commit b46553e

4 files changed

Lines changed: 46 additions & 1 deletion

File tree

javascript/LeetCode/Array/3712.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* 3712. Sum of Elements With Frequency Divisible by K
3+
*
4+
* 加總回傳能夠被k整除的element出現次數,在能被k整除的前提下,element出現幾次就是加幾次,例如k = 3,而2出現3次,則2加自己3次(乘自己3次)
5+
*
6+
* @param {number[]} nums
7+
* @param {number} k
8+
* @return {number}
9+
*/
10+
var sumDivisibleByK = function(nums, k) {
11+
let ans = 0;
12+
let map = new Map();
13+
for(let i = 0;i < nums.length;++i) {
14+
map.has(nums[i]) ? map.set(nums[i],map.get(nums[i]) + 1) : map.set(nums[i],1);
15+
}
16+
for(const [key,value] of map) {
17+
if(value % k === 0){
18+
ans += key * value;
19+
}
20+
}
21+
return ans;
22+
};
23+
let nums = [1,2,2,3,3,3,3,4], k = 2;
24+
// 16

javascript/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,3 +1047,5 @@ let numerator = 1, denominator = 2;
10471047
// "0.5"
10481048
// console.log(fractionToDecimal(numerator,denominator));
10491049

1050+
1051+
console.log(sumDivisibleByK(nums,k));

python/index.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"""
1010
from math import sqrt
1111
from typing import List
12+
from collections import Counter
1213

1314
# from numpy import diff
1415
# module
@@ -264,5 +265,5 @@ def replaceDigits(s: str) -> str:
264265
return res
265266
s = "a1c1e1"
266267
# Output: "abcdef"
267-
print(replaceDigits(s))
268+
# print(replaceDigits(s))
268269

python/leetcode/list/3712 .py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from typing import List
2+
def sumDivisibleByK(nums: List[int], k: int) -> int:
3+
'''
4+
3712. Sum of Elements With Frequency Divisible by K
5+
'''
6+
ans = 0
7+
counts = {}
8+
for i in nums:
9+
counts[i] = counts.get(i, 0) + 1
10+
11+
for key,value in counts.items():
12+
if value % k == 0:
13+
ans += key * value
14+
return ans
15+
16+
nums = [1,2,2,3,3,3,3,4]
17+
k = 2
18+
print(sumDivisibleByK(nums,k))

0 commit comments

Comments
 (0)