File tree 4 files changed +172
-0
lines changed
solution/1700-1799/1748.Sum of Unique Elements
4 files changed +172
-0
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,74 @@ func sumOfUnique(nums []int) int {
120
120
}
121
121
```
122
122
123
+ ### ** TypeScript**
124
+
125
+ ``` ts
126
+ function sumOfUnique(nums : number []): number {
127
+ let res = 0 ;
128
+ const map = new Map ();
129
+ for (const num of nums ) {
130
+ if (map .has (num )) {
131
+ if (map .get (num )) {
132
+ map .set (num , false );
133
+ res -= num ;
134
+ }
135
+ } else {
136
+ map .set (num , true );
137
+ res += num ;
138
+ }
139
+ }
140
+ return res ;
141
+ }
142
+ ```
143
+
144
+ ### ** Rust**
145
+
146
+ - 计数
147
+
148
+ ``` rust
149
+ impl Solution {
150
+ pub fn sum_of_unique (nums : Vec <i32 >) -> i32 {
151
+ let mut arr = [0 ; 101 ];
152
+ for num in nums {
153
+ arr [num as usize ] += 1 ;
154
+ }
155
+ let mut res = 0 ;
156
+ for i in 1 .. 101 {
157
+ if arr [i ] == 1 {
158
+ res += i ;
159
+ }
160
+ }
161
+ res as i32
162
+ }
163
+ }
164
+ ```
165
+
166
+ - 哈希表
167
+
168
+ ``` rust
169
+ use std :: collections :: HashMap ;
170
+
171
+ impl Solution {
172
+ pub fn sum_of_unique (nums : Vec <i32 >) -> i32 {
173
+ let mut res = 0 ;
174
+ let mut map = HashMap :: new ();
175
+ for num in nums {
176
+ if map . contains_key (& num ) {
177
+ if * map . get (& num ). unwrap () {
178
+ map . insert (num , false );
179
+ res -= num ;
180
+ }
181
+ } else {
182
+ map . insert (num , true );
183
+ res += num ;
184
+ }
185
+ }
186
+ res
187
+ }
188
+ }
189
+ ```
190
+
123
191
### ** ...**
124
192
125
193
```
Original file line number Diff line number Diff line change @@ -109,6 +109,74 @@ func sumOfUnique(nums []int) int {
109
109
}
110
110
```
111
111
112
+ ### ** TypeScript**
113
+
114
+ ``` ts
115
+ function sumOfUnique(nums : number []): number {
116
+ let res = 0 ;
117
+ const map = new Map ();
118
+ for (const num of nums ) {
119
+ if (map .has (num )) {
120
+ if (map .get (num )) {
121
+ map .set (num , false );
122
+ res -= num ;
123
+ }
124
+ } else {
125
+ map .set (num , true );
126
+ res += num ;
127
+ }
128
+ }
129
+ return res ;
130
+ }
131
+ ```
132
+
133
+ ### ** Rust**
134
+
135
+ - Count
136
+
137
+ ``` rust
138
+ impl Solution {
139
+ pub fn sum_of_unique (nums : Vec <i32 >) -> i32 {
140
+ let mut arr = [0 ; 101 ];
141
+ for num in nums {
142
+ arr [num as usize ] += 1 ;
143
+ }
144
+ let mut res = 0 ;
145
+ for i in 1 .. 101 {
146
+ if arr [i ] == 1 {
147
+ res += i ;
148
+ }
149
+ }
150
+ res as i32
151
+ }
152
+ }
153
+ ```
154
+
155
+ - HashMap
156
+
157
+ ``` rust
158
+ use std :: collections :: HashMap ;
159
+
160
+ impl Solution {
161
+ pub fn sum_of_unique (nums : Vec <i32 >) -> i32 {
162
+ let mut res = 0 ;
163
+ let mut map = HashMap :: new ();
164
+ for num in nums {
165
+ if map . contains_key (& num ) {
166
+ if * map . get (& num ). unwrap () {
167
+ map . insert (num , false );
168
+ res -= num ;
169
+ }
170
+ } else {
171
+ map . insert (num , true );
172
+ res += num ;
173
+ }
174
+ }
175
+ res
176
+ }
177
+ }
178
+ ```
179
+
112
180
### ** ...**
113
181
114
182
```
Original file line number Diff line number Diff line change
1
+ use std:: collections:: HashMap ;
2
+
3
+ impl Solution {
4
+ pub fn sum_of_unique ( nums : Vec < i32 > ) -> i32 {
5
+ let mut res = 0 ;
6
+ let mut map = HashMap :: new ( ) ;
7
+ for num in nums {
8
+ if map. contains_key ( & num) {
9
+ if * map. get ( & num) . unwrap ( ) {
10
+ map. insert ( num, false ) ;
11
+ res -= num;
12
+ }
13
+ } else {
14
+ map. insert ( num, true ) ;
15
+ res += num;
16
+ }
17
+ }
18
+ res
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ function sumOfUnique ( nums : number [ ] ) : number {
2
+ let res = 0 ;
3
+ const map = new Map ( ) ;
4
+ for ( const num of nums ) {
5
+ if ( map . has ( num ) ) {
6
+ if ( map . get ( num ) ) {
7
+ map . set ( num , false ) ;
8
+ res -= num ;
9
+ }
10
+ } else {
11
+ map . set ( num , true ) ;
12
+ res += num ;
13
+ }
14
+ }
15
+ return res ;
16
+ }
You can’t perform that action at this time.
0 commit comments