File tree Expand file tree Collapse file tree 8 files changed +232
-3
lines changed
2404.Most Frequent Even Element
2405.Optimal Partition of String Expand file tree Collapse file tree 8 files changed +232
-3
lines changed Original file line number Diff line number Diff line change @@ -145,13 +145,61 @@ func mostFrequentEven(nums []int) int {
145
145
### ** TypeScript**
146
146
147
147
``` ts
148
+ function mostFrequentEven(nums : number []): number {
149
+ const map = new Map ();
150
+ for (const num of nums ) {
151
+ if (num % 2 === 0 ) {
152
+ map .set (num , (map .get (num ) ?? 0 ) + 1 );
153
+ }
154
+ }
155
+ if (map .size === 0 ) {
156
+ return - 1 ;
157
+ }
148
158
159
+ let res = 0 ;
160
+ let max = 0 ;
161
+ for (const [k, v] of map .entries ()) {
162
+ if (v > max || (v == max && k < res )) {
163
+ max = v ;
164
+ res = k ;
165
+ }
166
+ }
167
+ return res ;
168
+ }
149
169
```
150
170
151
- ### ** ...**
171
+ ### ** Rust**
172
+
173
+ ``` rust
174
+ use std :: collections :: HashMap ;
175
+ impl Solution {
176
+ pub fn most_frequent_even (nums : Vec <i32 >) -> i32 {
177
+ let mut map = HashMap :: new ();
178
+ for & num in nums . iter () {
179
+ if num % 2 == 0 {
180
+ * map . entry (num ). or_insert (0 ) += 1 ;
181
+ }
182
+ }
183
+ if map . len () == 0 {
184
+ return - 1 ;
185
+ }
152
186
187
+ let mut res = 0 ;
188
+ let mut max = 0 ;
189
+ for (& k , & v ) in map . iter () {
190
+ if v > max || (v == max && k < res ) {
191
+ max = v ;
192
+ res = k ;
193
+ }
194
+ }
195
+ res
196
+ }
197
+ }
153
198
```
154
199
200
+ ### ** ...**
201
+
202
+ ```
155
203
156
204
```
157
205
Original file line number Diff line number Diff line change @@ -132,13 +132,61 @@ func mostFrequentEven(nums []int) int {
132
132
### ** TypeScript**
133
133
134
134
``` ts
135
+ function mostFrequentEven(nums : number []): number {
136
+ const map = new Map ();
137
+ for (const num of nums ) {
138
+ if (num % 2 === 0 ) {
139
+ map .set (num , (map .get (num ) ?? 0 ) + 1 );
140
+ }
141
+ }
142
+ if (map .size === 0 ) {
143
+ return - 1 ;
144
+ }
135
145
146
+ let res = 0 ;
147
+ let max = 0 ;
148
+ for (const [k, v] of map .entries ()) {
149
+ if (v > max || (v == max && k < res )) {
150
+ max = v ;
151
+ res = k ;
152
+ }
153
+ }
154
+ return res ;
155
+ }
136
156
```
137
157
138
- ### ** ...**
158
+ ### ** Rust**
159
+
160
+ ``` rust
161
+ use std :: collections :: HashMap ;
162
+ impl Solution {
163
+ pub fn most_frequent_even (nums : Vec <i32 >) -> i32 {
164
+ let mut map = HashMap :: new ();
165
+ for & num in nums . iter () {
166
+ if num % 2 == 0 {
167
+ * map . entry (num ). or_insert (0 ) += 1 ;
168
+ }
169
+ }
170
+ if map . len () == 0 {
171
+ return - 1 ;
172
+ }
139
173
174
+ let mut res = 0 ;
175
+ let mut max = 0 ;
176
+ for (& k , & v ) in map . iter () {
177
+ if v > max || (v == max && k < res ) {
178
+ max = v ;
179
+ res = k ;
180
+ }
181
+ }
182
+ res
183
+ }
184
+ }
140
185
```
141
186
187
+ ### ** ...**
188
+
189
+ ```
142
190
143
191
```
144
192
Original file line number Diff line number Diff line change
1
+ use std:: collections:: HashMap ;
2
+ impl Solution {
3
+ pub fn most_frequent_even ( nums : Vec < i32 > ) -> i32 {
4
+ let mut map = HashMap :: new ( ) ;
5
+ for & num in nums. iter ( ) {
6
+ if num % 2 == 0 {
7
+ * map. entry ( num) . or_insert ( 0 ) += 1 ;
8
+ }
9
+ }
10
+ if map. len ( ) == 0 {
11
+ return -1 ;
12
+ }
13
+
14
+ let mut res = 0 ;
15
+ let mut max = 0 ;
16
+ for ( & k, & v) in map. iter ( ) {
17
+ if v > max || ( v == max && k < res) {
18
+ max = v;
19
+ res = k;
20
+ }
21
+ }
22
+ res
23
+ }
24
+ }
Original file line number Diff line number Diff line change
1
+ function mostFrequentEven ( nums : number [ ] ) : number {
2
+ const map = new Map ( ) ;
3
+ for ( const num of nums ) {
4
+ if ( num % 2 === 0 ) {
5
+ map . set ( num , ( map . get ( num ) ?? 0 ) + 1 ) ;
6
+ }
7
+ }
8
+ if ( map . size === 0 ) {
9
+ return - 1 ;
10
+ }
11
+
12
+ let res = 0 ;
13
+ let max = 0 ;
14
+ for ( const [ k , v ] of map . entries ( ) ) {
15
+ if ( v > max || ( v == max && k < res ) ) {
16
+ max = v ;
17
+ res = k ;
18
+ }
19
+ }
20
+ return res ;
21
+ }
Original file line number Diff line number Diff line change @@ -199,14 +199,44 @@ func partitionString(s string) int {
199
199
### ** TypeScript**
200
200
201
201
``` ts
202
+ function partitionString(s : string ): number {
203
+ const set = new Set ();
204
+ let res = 1 ;
205
+ for (const c of s ) {
206
+ if (set .has (c )) {
207
+ res ++ ;
208
+ set .clear ();
209
+ }
210
+ set .add (c );
211
+ }
212
+ return res ;
213
+ }
214
+ ```
202
215
216
+ ### ** Rust**
217
+
218
+ ``` rust
219
+ use std :: collections :: HashSet ;
220
+ impl Solution {
221
+ pub fn partition_string (s : String ) -> i32 {
222
+ let mut set = HashSet :: new ();
223
+ let mut res = 1 ;
224
+ for c in s . as_bytes (). iter () {
225
+ if set . contains (c ) {
226
+ res += 1 ;
227
+ set . clear ();
228
+ }
229
+ set . insert (c );
230
+ }
231
+ res
232
+ }
233
+ }
203
234
```
204
235
205
236
### ** ...**
206
237
207
238
```
208
239
209
-
210
240
```
211
241
212
242
<!-- tabs: end -->
Original file line number Diff line number Diff line change @@ -181,7 +181,38 @@ func partitionString(s string) int {
181
181
### ** TypeScript**
182
182
183
183
``` ts
184
+ function partitionString(s : string ): number {
185
+ const set = new Set ();
186
+ let res = 1 ;
187
+ for (const c of s ) {
188
+ if (set .has (c )) {
189
+ res ++ ;
190
+ set .clear ();
191
+ }
192
+ set .add (c );
193
+ }
194
+ return res ;
195
+ }
196
+ ```
184
197
198
+ ### ** Rust**
199
+
200
+ ``` rust
201
+ use std :: collections :: HashSet ;
202
+ impl Solution {
203
+ pub fn partition_string (s : String ) -> i32 {
204
+ let mut set = HashSet :: new ();
205
+ let mut res = 1 ;
206
+ for c in s . as_bytes (). iter () {
207
+ if set . contains (c ) {
208
+ res += 1 ;
209
+ set . clear ();
210
+ }
211
+ set . insert (c );
212
+ }
213
+ res
214
+ }
215
+ }
185
216
```
186
217
187
218
### ** ...**
Original file line number Diff line number Diff line change
1
+ use std:: collections:: HashSet ;
2
+ impl Solution {
3
+ pub fn partition_string ( s : String ) -> i32 {
4
+ let mut set = HashSet :: new ( ) ;
5
+ let mut res = 1 ;
6
+ for c in s. as_bytes ( ) . iter ( ) {
7
+ if set. contains ( c) {
8
+ res += 1 ;
9
+ set. clear ( ) ;
10
+ }
11
+ set. insert ( c) ;
12
+ }
13
+ res
14
+ }
15
+ }
Original file line number Diff line number Diff line change
1
+ function partitionString ( s : string ) : number {
2
+ const set = new Set ( ) ;
3
+ let res = 1 ;
4
+ for ( const c of s ) {
5
+ if ( set . has ( c ) ) {
6
+ res ++ ;
7
+ set . clear ( ) ;
8
+ }
9
+ set . add ( c ) ;
10
+ }
11
+ return res ;
12
+ }
You can’t perform that action at this time.
0 commit comments