Skip to content

Commit d89a423

Browse files
committed
feat: add solutions to lc problem: No.1748
No.1748.Sum of Unique Elements
1 parent e53ccdd commit d89a423

File tree

6 files changed

+113
-24
lines changed

6 files changed

+113
-24
lines changed

solution/1700-1799/1748.Sum of Unique Elements/README.md

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,8 @@
5959
```python
6060
class Solution:
6161
def sumOfUnique(self, nums: List[int]) -> int:
62-
counter = [0] * 101
63-
for num in nums:
64-
counter[num] += 1
65-
return sum([i for i in range(1, 101) if counter[i] == 1])
62+
counter = Counter(nums)
63+
return sum(num for num, cnt in counter.items() if cnt == 1)
6664
```
6765

6866
### **Java**
@@ -76,17 +74,52 @@ class Solution {
7674
for (int num : nums) {
7775
++counter[num];
7876
}
79-
int res = 0;
80-
for (int i = 1; i < 101; ++i) {
77+
int ans = 0;
78+
for (int i = 0; i < 101; ++i) {
8179
if (counter[i] == 1) {
82-
res += i;
80+
ans += i;
8381
}
8482
}
85-
return res;
83+
return ans;
8684
}
8785
}
8886
```
8987

88+
### **C++**
89+
90+
```cpp
91+
class Solution {
92+
public:
93+
int sumOfUnique(vector<int>& nums) {
94+
vector<int> counter(101);
95+
for (int num : nums) ++ counter[num];
96+
int ans = 0;
97+
for (int i = 0; i < 101; ++i)
98+
if (counter[i] == 1)
99+
ans += i;
100+
return ans;
101+
}
102+
};
103+
```
104+
105+
### **Go**
106+
107+
```go
108+
func sumOfUnique(nums []int) int {
109+
counter := make([]int, 101)
110+
for _, num := range nums {
111+
counter[num]++
112+
}
113+
ans := 0
114+
for i := 0; i < 101; i++ {
115+
if counter[i] == 1 {
116+
ans += i
117+
}
118+
}
119+
return ans
120+
}
121+
```
122+
90123
### **...**
91124

92125
```

solution/1700-1799/1748.Sum of Unique Elements/README_EN.md

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,8 @@
5050
```python
5151
class Solution:
5252
def sumOfUnique(self, nums: List[int]) -> int:
53-
counter = [0] * 101
54-
for num in nums:
55-
counter[num] += 1
56-
return sum([i for i in range(1, 101) if counter[i] == 1])
53+
counter = Counter(nums)
54+
return sum(num for num, cnt in counter.items() if cnt == 1)
5755
```
5856

5957
### **Java**
@@ -65,17 +63,52 @@ class Solution {
6563
for (int num : nums) {
6664
++counter[num];
6765
}
68-
int res = 0;
69-
for (int i = 1; i < 101; ++i) {
66+
int ans = 0;
67+
for (int i = 0; i < 101; ++i) {
7068
if (counter[i] == 1) {
71-
res += i;
69+
ans += i;
7270
}
7371
}
74-
return res;
72+
return ans;
7573
}
7674
}
7775
```
7876

77+
### **C++**
78+
79+
```cpp
80+
class Solution {
81+
public:
82+
int sumOfUnique(vector<int>& nums) {
83+
vector<int> counter(101);
84+
for (int num : nums) ++ counter[num];
85+
int ans = 0;
86+
for (int i = 0; i < 101; ++i)
87+
if (counter[i] == 1)
88+
ans += i;
89+
return ans;
90+
}
91+
};
92+
```
93+
94+
### **Go**
95+
96+
```go
97+
func sumOfUnique(nums []int) int {
98+
counter := make([]int, 101)
99+
for _, num := range nums {
100+
counter[num]++
101+
}
102+
ans := 0
103+
for i := 0; i < 101; i++ {
104+
if counter[i] == 1 {
105+
ans += i
106+
}
107+
}
108+
return ans
109+
}
110+
```
111+
79112
### **...**
80113

81114
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public:
3+
int sumOfUnique(vector<int>& nums) {
4+
vector<int> counter(101);
5+
for (int num : nums) ++ counter[num];
6+
int ans = 0;
7+
for (int i = 0; i < 101; ++i)
8+
if (counter[i] == 1)
9+
ans += i;
10+
return ans;
11+
}
12+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
func sumOfUnique(nums []int) int {
2+
counter := make([]int, 101)
3+
for _, num := range nums {
4+
counter[num]++
5+
}
6+
ans := 0
7+
for i := 0; i < 101; i++ {
8+
if counter[i] == 1 {
9+
ans += i
10+
}
11+
}
12+
return ans
13+
}

solution/1700-1799/1748.Sum of Unique Elements/Solution.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ public int sumOfUnique(int[] nums) {
44
for (int num : nums) {
55
++counter[num];
66
}
7-
int res = 0;
8-
for (int i = 1; i < 101; ++i) {
7+
int ans = 0;
8+
for (int i = 0; i < 101; ++i) {
99
if (counter[i] == 1) {
10-
res += i;
10+
ans += i;
1111
}
1212
}
13-
return res;
13+
return ans;
1414
}
1515
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
class Solution:
22
def sumOfUnique(self, nums: List[int]) -> int:
3-
counter = [0] * 101
4-
for num in nums:
5-
counter[num] += 1
6-
return sum([i for i in range(1, 101) if counter[i] == 1])
3+
counter = Counter(nums)
4+
return sum(num for num, cnt in counter.items() if cnt == 1)

0 commit comments

Comments
 (0)