File tree 3 files changed +90
-0
lines changed
solution/0400-0499/0463.Island Perimeter
3 files changed +90
-0
lines changed Original file line number Diff line number Diff line change 53
53
54
54
<!-- 这里可写通用的实现逻辑 -->
55
55
56
+ 遍历二维数组
57
+
56
58
<!-- tabs:start -->
57
59
58
60
### ** Python3**
71
73
72
74
```
73
75
76
+ ### ** TypeScript**
77
+
78
+ ``` ts
79
+ function islandPerimeter(grid : number [][]): number {
80
+ let m = grid .length , n = grid [0 ].length ;
81
+ let ans = 0 ;
82
+ for (let i = 0 ; i < m ; ++ i ) {
83
+ for (let j = 0 ; j < n ; ++ j ) {
84
+ let top = 0 , left = 0 ;
85
+ if (i > 0 ) {
86
+ top = grid [i - 1 ][j ];
87
+ }
88
+ if (j > 0 ) {
89
+ left = grid [i ][j - 1 ];
90
+ }
91
+ let cur = grid [i ][j ];
92
+ if (cur != top ) ++ ans ;
93
+ if (cur != left ) ++ ans ;
94
+ }
95
+ }
96
+ // 最后一行, 最后一列
97
+ for (let i = 0 ; i < m ; ++ i ) {
98
+ if (grid [i ][n - 1 ] == 1 ) ++ ans ;
99
+ }
100
+ for (let j = 0 ; j < n ; ++ j ) {
101
+ if (grid [m - 1 ][j ] == 1 ) ++ ans ;
102
+ }
103
+ return ans ;
104
+ };
105
+ ```
106
+
74
107
### ** ...**
75
108
76
109
```
Original file line number Diff line number Diff line change 60
60
61
61
```
62
62
63
+ ### ** TypeScript**
64
+
65
+ ``` ts
66
+ function islandPerimeter(grid : number [][]): number {
67
+ let m = grid .length , n = grid [0 ].length ;
68
+ let ans = 0 ;
69
+ for (let i = 0 ; i < m ; ++ i ) {
70
+ for (let j = 0 ; j < n ; ++ j ) {
71
+ let top = 0 , left = 0 ;
72
+ if (i > 0 ) {
73
+ top = grid [i - 1 ][j ];
74
+ }
75
+ if (j > 0 ) {
76
+ left = grid [i ][j - 1 ];
77
+ }
78
+ let cur = grid [i ][j ];
79
+ if (cur != top ) ++ ans ;
80
+ if (cur != left ) ++ ans ;
81
+ }
82
+ }
83
+ // 最后一行, 最后一列
84
+ for (let i = 0 ; i < m ; ++ i ) {
85
+ if (grid [i ][n - 1 ] == 1 ) ++ ans ;
86
+ }
87
+ for (let j = 0 ; j < n ; ++ j ) {
88
+ if (grid [m - 1 ][j ] == 1 ) ++ ans ;
89
+ }
90
+ return ans ;
91
+ };
92
+ ```
93
+
63
94
### ** ...**
64
95
65
96
```
Original file line number Diff line number Diff line change
1
+ function islandPerimeter ( grid : number [ ] [ ] ) : number {
2
+ let m = grid . length , n = grid [ 0 ] . length ;
3
+ let ans = 0 ;
4
+ for ( let i = 0 ; i < m ; ++ i ) {
5
+ for ( let j = 0 ; j < n ; ++ j ) {
6
+ let top = 0 , left = 0 ;
7
+ if ( i > 0 ) {
8
+ top = grid [ i - 1 ] [ j ] ;
9
+ }
10
+ if ( j > 0 ) {
11
+ left = grid [ i ] [ j - 1 ] ;
12
+ }
13
+ let cur = grid [ i ] [ j ] ;
14
+ if ( cur != top ) ++ ans ;
15
+ if ( cur != left ) ++ ans ;
16
+ }
17
+ }
18
+ // 最后一行, 最后一列
19
+ for ( let i = 0 ; i < m ; ++ i ) {
20
+ if ( grid [ i ] [ n - 1 ] == 1 ) ++ ans ;
21
+ }
22
+ for ( let j = 0 ; j < n ; ++ j ) {
23
+ if ( grid [ m - 1 ] [ j ] == 1 ) ++ ans ;
24
+ }
25
+ return ans ;
26
+ } ;
You can’t perform that action at this time.
0 commit comments