File tree 8 files changed +141
-8
lines changed
2269.Find the K-Beauty of a Number
2270.Number of Ways to Split Array
8 files changed +141
-8
lines changed Original file line number Diff line number Diff line change 71
71
<!-- 这里可写当前语言的特殊实现逻辑 -->
72
72
73
73
``` python
74
-
74
+ class Solution :
75
+ def divisorSubstrings (self , num : int , k : int ) -> int :
76
+ cnt = 0
77
+ s = str (num)
78
+ for i in range (len (s) - k + 1 ):
79
+ tmp = int (s[i: i + k])
80
+ if tmp != 0 and num % tmp == 0 :
81
+ cnt += 1
82
+ return cnt
75
83
```
76
84
77
85
### ** Java**
78
86
79
87
<!-- 这里可写当前语言的特殊实现逻辑 -->
80
88
81
89
``` java
82
-
90
+ class Solution {
91
+ public int divisorSubstrings (int num , int k ) {
92
+ int cnt = 0 ;
93
+ String s = String . valueOf(num);
94
+ for (int i = 0 ; i <= s. length() - k; i++ ) {
95
+ int tmp = Integer . parseInt(s. substring(i, i + k));
96
+ if (tmp != 0 && num % tmp == 0 ) {
97
+ cnt++ ;
98
+ }
99
+ }
100
+ return cnt;
101
+ }
102
+ }
83
103
```
84
104
85
105
### ** TypeScript**
Original file line number Diff line number Diff line change @@ -63,13 +63,33 @@ Therefore, the k-beauty is 2.
63
63
### ** Python3**
64
64
65
65
``` python
66
-
66
+ class Solution :
67
+ def divisorSubstrings (self , num : int , k : int ) -> int :
68
+ cnt = 0
69
+ s = str (num)
70
+ for i in range (len (s) - k + 1 ):
71
+ tmp = int (s[i: i + k])
72
+ if tmp != 0 and num % tmp == 0 :
73
+ cnt += 1
74
+ return cnt
67
75
```
68
76
69
77
### ** Java**
70
78
71
79
``` java
72
-
80
+ class Solution {
81
+ public int divisorSubstrings (int num , int k ) {
82
+ int cnt = 0 ;
83
+ String s = String . valueOf(num);
84
+ for (int i = 0 ; i <= s. length() - k; i++ ) {
85
+ int tmp = Integer . parseInt(s. substring(i, i + k));
86
+ if (tmp != 0 && num % tmp == 0 ) {
87
+ cnt++ ;
88
+ }
89
+ }
90
+ return cnt;
91
+ }
92
+ }
73
93
```
74
94
75
95
### ** TypeScript**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int divisorSubstrings (int num , int k ) {
3
+ int cnt = 0 ;
4
+ String s = String .valueOf (num );
5
+ for (int i = 0 ; i <= s .length () - k ; i ++) {
6
+ int tmp = Integer .parseInt (s .substring (i , i + k ));
7
+ if (tmp != 0 && num % tmp == 0 ) {
8
+ cnt ++;
9
+ }
10
+ }
11
+ return cnt ;
12
+ }
13
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def divisorSubstrings (self , num : int , k : int ) -> int :
3
+ cnt = 0
4
+ s = str (num )
5
+ for i in range (len (s ) - k + 1 ):
6
+ tmp = int (s [i : i + k ])
7
+ if tmp != 0 and num % tmp == 0 :
8
+ cnt += 1
9
+ return cnt
Original file line number Diff line number Diff line change 62
62
<!-- 这里可写当前语言的特殊实现逻辑 -->
63
63
64
64
``` python
65
-
65
+ class Solution :
66
+ def waysToSplitArray (self , nums : List[int ]) -> int :
67
+ left, right = 0 , sum (nums)
68
+ cnt = 0
69
+ for v in nums[:- 1 ]:
70
+ left += v
71
+ right -= v
72
+ if left >= right:
73
+ cnt += 1
74
+ return cnt
66
75
```
67
76
68
77
### ** Java**
69
78
70
79
<!-- 这里可写当前语言的特殊实现逻辑 -->
71
80
72
81
``` java
73
-
82
+ class Solution {
83
+ public int waysToSplitArray (int [] nums ) {
84
+ long [] pre = new long [nums. length + 1 ];
85
+ for (int i = 0 ; i < nums. length; i++ ) {
86
+ pre[i + 1 ] = pre[i] + nums[i];
87
+ }
88
+ int cnt = 0 ;
89
+ for (int i = 1 ; i < nums. length; i++ ) {
90
+ if (pre[i] >= pre[nums. length] - pre[i]) {
91
+ cnt++ ;
92
+ }
93
+ }
94
+ return cnt;
95
+ }
96
+ }
74
97
```
75
98
76
99
### ** TypeScript**
Original file line number Diff line number Diff line change @@ -55,13 +55,36 @@ There are two valid splits in nums:
55
55
### ** Python3**
56
56
57
57
``` python
58
-
58
+ class Solution :
59
+ def waysToSplitArray (self , nums : List[int ]) -> int :
60
+ left, right = 0 , sum (nums)
61
+ cnt = 0
62
+ for v in nums[:- 1 ]:
63
+ left += v
64
+ right -= v
65
+ if left >= right:
66
+ cnt += 1
67
+ return cnt
59
68
```
60
69
61
70
### ** Java**
62
71
63
72
``` java
64
-
73
+ class Solution {
74
+ public int waysToSplitArray (int [] nums ) {
75
+ long [] pre = new long [nums. length + 1 ];
76
+ for (int i = 0 ; i < nums. length; i++ ) {
77
+ pre[i + 1 ] = pre[i] + nums[i];
78
+ }
79
+ int cnt = 0 ;
80
+ for (int i = 1 ; i < nums. length; i++ ) {
81
+ if (pre[i] >= pre[nums. length] - pre[i]) {
82
+ cnt++ ;
83
+ }
84
+ }
85
+ return cnt;
86
+ }
87
+ }
65
88
```
66
89
67
90
### ** TypeScript**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int waysToSplitArray (int [] nums ) {
3
+ long [] pre = new long [nums .length + 1 ];
4
+ for (int i = 0 ; i < nums .length ; i ++) {
5
+ pre [i + 1 ] = pre [i ] + nums [i ];
6
+ }
7
+ int cnt = 0 ;
8
+ for (int i = 1 ; i < nums .length ; i ++) {
9
+ if (pre [i ] >= pre [nums .length ] - pre [i ]) {
10
+ cnt ++;
11
+ }
12
+ }
13
+ return cnt ;
14
+ }
15
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def waysToSplitArray (self , nums : List [int ]) -> int :
3
+ left , right = 0 , sum (nums )
4
+ cnt = 0
5
+ for v in nums [:- 1 ]:
6
+ left += v
7
+ right -= v
8
+ if left >= right :
9
+ cnt += 1
10
+ return cnt
You can’t perform that action at this time.
0 commit comments