File tree Expand file tree Collapse file tree 6 files changed +150
-2
lines changed
solution/2100-2199/2139.Minimum Moves to Reach Target Score Expand file tree Collapse file tree 6 files changed +150
-2
lines changed Original file line number Diff line number Diff line change 72
72
<!-- 这里可写当前语言的特殊实现逻辑 -->
73
73
74
74
``` python
75
-
75
+ class Solution :
76
+ def minMoves (self , target : int , maxDoubles : int ) -> int :
77
+ if target == 1 :
78
+ return 0
79
+ if maxDoubles == 0 :
80
+ return target - 1
81
+ if target % 2 == 0 and maxDoubles:
82
+ return 1 + self .minMoves(target >> 1 , maxDoubles - 1 )
83
+ return 1 + self .minMoves(target - 1 , maxDoubles)
76
84
```
77
85
78
86
### ** Java**
79
87
80
88
<!-- 这里可写当前语言的特殊实现逻辑 -->
81
89
82
90
``` java
91
+ class Solution {
92
+ public int minMoves (int target , int maxDoubles ) {
93
+ if (target == 1 ) {
94
+ return 0 ;
95
+ }
96
+ if (maxDoubles == 0 ) {
97
+ return target - 1 ;
98
+ }
99
+ if (target % 2 == 0 && maxDoubles > 0 ) {
100
+ return 1 + minMoves(target >> 1 , maxDoubles - 1 );
101
+ }
102
+ return 1 + minMoves(target - 1 , maxDoubles);
103
+ }
104
+ }
105
+ ```
106
+
107
+ ### ** C++**
108
+
109
+ ``` cpp
110
+ class Solution {
111
+ public:
112
+ int minMoves(int target, int maxDoubles) {
113
+ if (target == 1) return 0;
114
+ if (maxDoubles == 0) return target - 1;
115
+ if (target % 2 == 0 && maxDoubles) return 1 + minMoves(target >> 1, maxDoubles - 1);
116
+ return 1 + minMoves(target - 1, maxDoubles);
117
+ }
118
+ };
119
+ ```
83
120
121
+ ### **Go**
122
+
123
+ ```go
124
+ func minMoves(target int, maxDoubles int) int {
125
+ if target == 1 {
126
+ return 0
127
+ }
128
+ if maxDoubles == 0 {
129
+ return target - 1
130
+ }
131
+ if target%2 == 0 && maxDoubles > 0 {
132
+ return 1 + minMoves(target>>1, maxDoubles-1)
133
+ }
134
+ return 1 + minMoves(target-1, maxDoubles)
135
+ }
84
136
```
85
137
86
138
### ** TypeScript**
Original file line number Diff line number Diff line change @@ -66,13 +66,65 @@ Double again so x = 10
66
66
### ** Python3**
67
67
68
68
``` python
69
-
69
+ class Solution :
70
+ def minMoves (self , target : int , maxDoubles : int ) -> int :
71
+ if target == 1 :
72
+ return 0
73
+ if maxDoubles == 0 :
74
+ return target - 1
75
+ if target % 2 == 0 and maxDoubles:
76
+ return 1 + self .minMoves(target >> 1 , maxDoubles - 1 )
77
+ return 1 + self .minMoves(target - 1 , maxDoubles)
70
78
```
71
79
72
80
### ** Java**
73
81
74
82
``` java
83
+ class Solution {
84
+ public int minMoves (int target , int maxDoubles ) {
85
+ if (target == 1 ) {
86
+ return 0 ;
87
+ }
88
+ if (maxDoubles == 0 ) {
89
+ return target - 1 ;
90
+ }
91
+ if (target % 2 == 0 && maxDoubles > 0 ) {
92
+ return 1 + minMoves(target >> 1 , maxDoubles - 1 );
93
+ }
94
+ return 1 + minMoves(target - 1 , maxDoubles);
95
+ }
96
+ }
97
+ ```
98
+
99
+ ### ** C++**
100
+
101
+ ``` cpp
102
+ class Solution {
103
+ public:
104
+ int minMoves(int target, int maxDoubles) {
105
+ if (target == 1) return 0;
106
+ if (maxDoubles == 0) return target - 1;
107
+ if (target % 2 == 0 && maxDoubles) return 1 + minMoves(target >> 1, maxDoubles - 1);
108
+ return 1 + minMoves(target - 1, maxDoubles);
109
+ }
110
+ };
111
+ ```
75
112
113
+ ### **Go**
114
+
115
+ ```go
116
+ func minMoves(target int, maxDoubles int) int {
117
+ if target == 1 {
118
+ return 0
119
+ }
120
+ if maxDoubles == 0 {
121
+ return target - 1
122
+ }
123
+ if target%2 == 0 && maxDoubles > 0 {
124
+ return 1 + minMoves(target>>1, maxDoubles-1)
125
+ }
126
+ return 1 + minMoves(target-1, maxDoubles)
127
+ }
76
128
```
77
129
78
130
### ** TypeScript**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ int minMoves (int target, int maxDoubles) {
4
+ if (target == 1 ) return 0 ;
5
+ if (maxDoubles == 0 ) return target - 1 ;
6
+ if (target % 2 == 0 && maxDoubles) return 1 + minMoves (target >> 1 , maxDoubles - 1 );
7
+ return 1 + minMoves (target - 1 , maxDoubles);
8
+ }
9
+ };
Original file line number Diff line number Diff line change
1
+ func minMoves (target int , maxDoubles int ) int {
2
+ if target == 1 {
3
+ return 0
4
+ }
5
+ if maxDoubles == 0 {
6
+ return target - 1
7
+ }
8
+ if target % 2 == 0 && maxDoubles > 0 {
9
+ return 1 + minMoves (target >> 1 , maxDoubles - 1 )
10
+ }
11
+ return 1 + minMoves (target - 1 , maxDoubles )
12
+ }
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int minMoves (int target , int maxDoubles ) {
3
+ if (target == 1 ) {
4
+ return 0 ;
5
+ }
6
+ if (maxDoubles == 0 ) {
7
+ return target - 1 ;
8
+ }
9
+ if (target % 2 == 0 && maxDoubles > 0 ) {
10
+ return 1 + minMoves (target >> 1 , maxDoubles - 1 );
11
+ }
12
+ return 1 + minMoves (target - 1 , maxDoubles );
13
+ }
14
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def minMoves (self , target : int , maxDoubles : int ) -> int :
3
+ if target == 1 :
4
+ return 0
5
+ if maxDoubles == 0 :
6
+ return target - 1
7
+ if target % 2 == 0 and maxDoubles :
8
+ return 1 + self .minMoves (target >> 1 , maxDoubles - 1 )
9
+ return 1 + self .minMoves (target - 1 , maxDoubles )
You can’t perform that action at this time.
0 commit comments