File tree Expand file tree Collapse file tree 3 files changed +49
-2
lines changed
divide-nodes-into-the-maximum-number-of-groups
minimum-score-of-a-path-between-two-cities Expand file tree Collapse file tree 3 files changed +49
-2
lines changed Original file line number Diff line number Diff line change @@ -45,6 +45,8 @@ Step 2. Add the dependency
4545
4646<summary >展开查看</summary >
4747
48+ https://leetcode.cn/problems/divide-nodes-into-the-maximum-number-of-groups
49+
4850https://leetcode.cn/problems/closest-dessert-cost
4951
5052https://leetcode.cn/problems/circular-sentence
Original file line number Diff line number Diff line change 1+ function magnificentSets ( n : number , edges : number [ ] [ ] ) : number {
2+ const e : number [ ] [ ] = Array ( n + 1 )
3+ . fill ( 0 )
4+ . map ( ( ) => [ ] as number [ ] ) ;
5+
6+ for ( const [ a , b ] of edges ) {
7+ e [ a ] . push ( b ) ;
8+ e [ b ] . push ( a ) ;
9+ }
10+ const mp = new Map < number , number > ( ) ;
11+
12+ for ( let i = 1 ; i <= n ; i ++ ) {
13+ const q = [ i ] ;
14+ const dis = Array < number > ( n + 1 ) . fill ( 0 ) ;
15+ dis [ i ] = 1 ;
16+ let mn = n ;
17+ let mx = 1 ;
18+
19+ while ( q . length ) {
20+ const x = q [ 0 ] ;
21+ q . shift ( ) ;
22+
23+ mn = Math . min ( x , mn ) ;
24+
25+ for ( const d of e [ x ] ) {
26+ if ( dis [ d ] == 0 ) {
27+ dis [ d ] = dis [ x ] + 1 ;
28+ mx = Math . max ( mx , dis [ d ] ) ;
29+ q . push ( d ) ;
30+ }
31+ if ( Math . abs ( dis [ d ] - dis [ x ] ) !== 1 ) {
32+ return - 1 ;
33+ }
34+ }
35+ }
36+ mp . set ( mn , Math . max ( mx , mp . get ( mn ) ?? 0 ) ) ;
37+ }
38+
39+ let ans = 0 ;
40+ for ( const v of mp . values ( ) ) {
41+ ans += v ;
42+ }
43+ return ans ;
44+ }
45+ export default magnificentSets ;
Original file line number Diff line number Diff line change @@ -7,8 +7,8 @@ function minScore(_n: number, roads: number[][]): number {
77 }
88 let ans = Infinity ;
99
10- for ( const [ i , j , d ] of roads ) {
11- if ( uf . connected ( 1 , i ) && uf . connected ( 1 , j ) ) {
10+ for ( const [ i , _ , d ] of roads ) {
11+ if ( uf . connected ( 1 , i ) ) {
1212 ans = Math . min ( ans , d ) ;
1313 }
1414 }
You can’t perform that action at this time.
0 commit comments