File tree Expand file tree Collapse file tree 3 files changed +59
-28
lines changed
closest-nodes-queries-in-a-binary-search-tree
minimum-fuel-cost-to-report-to-the-capital Expand file tree Collapse file tree 3 files changed +59
-28
lines changed Original file line number Diff line number Diff line change @@ -45,6 +45,8 @@ Step 2. Add the dependency
45
45
46
46
<summary >展开查看</summary >
47
47
48
+ https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital
49
+
48
50
https://leetcode.cn/problems/closest-nodes-queries-in-a-binary-search-tree
49
51
50
52
https://leetcode.cn/problems/number-of-unequal-triplets-in-array
Original file line number Diff line number Diff line change 1
- import { assertEquals } from "asserts" ;
2
- import { TreeNodeLeetCodeFromJSON } from "../utils/TreeNodeLeetCodeParse.ts" ;
3
- import closestNodes from "./index.ts" ;
4
- Deno . test ( "closest-nodes-queries-in-a-binary-search-tree" , ( ) => {
5
- const root = [
6
- 6 ,
7
- 2 ,
8
- 13 ,
9
- 1 ,
10
- 4 ,
11
- 9 ,
12
- 15 ,
13
- null ,
14
- null ,
15
- null ,
16
- null ,
17
- null ,
18
- null ,
19
- 14 ,
20
- ] ,
21
- queries = [ 2 , 5 , 16 ] ;
22
- const result = [
23
- [ 2 , 2 ] ,
24
- [ 4 , 6 ] ,
25
- [ 15 , - 1 ] ,
26
- ] ;
27
- assertEquals ( closestNodes ( TreeNodeLeetCodeFromJSON ( root ) , queries ) , result ) ;
28
- } ) ;
1
+ import { assertEquals } from "asserts" ;
2
+ import { TreeNodeLeetCodeFromJSON } from "../utils/TreeNodeLeetCodeParse.ts" ;
3
+ import closestNodes from "./index.ts" ;
4
+ Deno . test ( "closest-nodes-queries-in-a-binary-search-tree" , ( ) => {
5
+ const root = [
6
+ 6 ,
7
+ 2 ,
8
+ 13 ,
9
+ 1 ,
10
+ 4 ,
11
+ 9 ,
12
+ 15 ,
13
+ null ,
14
+ null ,
15
+ null ,
16
+ null ,
17
+ null ,
18
+ null ,
19
+ 14 ,
20
+ ] ,
21
+ queries = [ 2 , 5 , 16 ] ;
22
+ const result = [
23
+ [ 2 , 2 ] ,
24
+ [ 4 , 6 ] ,
25
+ [ 15 , - 1 ] ,
26
+ ] ;
27
+ assertEquals ( closestNodes ( TreeNodeLeetCodeFromJSON ( root ) , queries ) , result ) ;
28
+ } ) ;
Original file line number Diff line number Diff line change
1
+ export default function minimumFuelCost (
2
+ roads : number [ ] [ ] ,
3
+ seats : number ,
4
+ ) : number {
5
+ let ans = 0 ;
6
+ const g = Array ( roads . length + 1 )
7
+ . fill ( 0 )
8
+ . map ( ( ) => Array < number > ( ) ) ;
9
+
10
+ for ( const e of roads ) {
11
+ const [ x , y ] = e ;
12
+
13
+ g [ x ] . push ( y ) ;
14
+ g [ y ] . push ( x ) ;
15
+ }
16
+ function dfs ( x : number , f : number ) : number {
17
+ let size = 1 ;
18
+
19
+ for ( const y of g [ x ] ) {
20
+ if ( y != f ) {
21
+ size += dfs ( y , x ) ;
22
+ }
23
+ }
24
+ if ( x > 0 ) ans += Math . floor ( ( size + seats - 1 ) / seats ) ;
25
+ return size ;
26
+ }
27
+ dfs ( 0 , - 1 ) ;
28
+ return ans ;
29
+ }
You can’t perform that action at this time.
0 commit comments