@@ -74,31 +74,31 @@ tags:
74
74
``` python
75
75
class Solution :
76
76
def searchInsert (self , nums : List[int ], target : int ) -> int :
77
- left, right = 0 , len (nums)
78
- while left < right :
79
- mid = (left + right ) >> 1
77
+ l, r = 0 , len (nums)
78
+ while l < r :
79
+ mid = (l + r ) >> 1
80
80
if nums[mid] >= target:
81
- right = mid
81
+ r = mid
82
82
else :
83
- left = mid + 1
84
- return left
83
+ l = mid + 1
84
+ return l
85
85
```
86
86
87
87
#### Java
88
88
89
89
``` java
90
90
class Solution {
91
91
public int searchInsert (int [] nums , int target ) {
92
- int left = 0 , right = nums. length;
93
- while (left < right ) {
94
- int mid = (left + right ) >>> 1 ;
92
+ int l = 0 , r = nums. length;
93
+ while (l < r ) {
94
+ int mid = (l + r ) >>> 1 ;
95
95
if (nums[mid] >= target) {
96
- right = mid;
96
+ r = mid;
97
97
} else {
98
- left = mid + 1 ;
98
+ l = mid + 1 ;
99
99
}
100
100
}
101
- return left ;
101
+ return l ;
102
102
}
103
103
}
104
104
```
@@ -109,15 +109,16 @@ class Solution {
109
109
class Solution {
110
110
public:
111
111
int searchInsert(vector<int >& nums, int target) {
112
- int left = 0, right = nums.size();
113
- while (left < right) {
114
- int mid = left + right >> 1;
115
- if (nums[ mid] >= target)
116
- right = mid;
117
- else
118
- left = mid + 1;
112
+ int l = 0, r = nums.size();
113
+ while (l < r) {
114
+ int mid = (l + r) >> 1;
115
+ if (nums[ mid] >= target) {
116
+ r = mid;
117
+ } else {
118
+ l = mid + 1;
119
+ }
119
120
}
120
- return left ;
121
+ return l ;
121
122
}
122
123
};
123
124
```
@@ -126,42 +127,52 @@ public:
126
127
127
128
```go
128
129
func searchInsert(nums []int, target int) int {
129
- left, right := 0, len(nums)
130
- for left < right {
131
- mid := (left + right ) >> 1
130
+ l, r := 0, len(nums)
131
+ for l < r {
132
+ mid := (l + r ) >> 1
132
133
if nums[mid] >= target {
133
- right = mid
134
+ r = mid
134
135
} else {
135
- left = mid + 1
136
+ l = mid + 1
136
137
}
137
138
}
138
- return left
139
+ return l
140
+ }
141
+ ```
142
+
143
+ #### TypeScript
144
+
145
+ ``` ts
146
+ function searchInsert(nums : number [], target : number ): number {
147
+ let [l, r] = [0 , nums .length ];
148
+ while (l < r ) {
149
+ const mid = (l + r ) >> 1 ;
150
+ if (nums [mid ] >= target ) {
151
+ r = mid ;
152
+ } else {
153
+ l = mid + 1 ;
154
+ }
155
+ }
156
+ return l ;
139
157
}
140
158
```
141
159
142
160
#### Rust
143
161
144
162
``` rust
145
- use std :: cmp :: Ordering ;
146
163
impl Solution {
147
164
pub fn search_insert (nums : Vec <i32 >, target : i32 ) -> i32 {
148
- let mut left = 0 ;
149
- let mut right = nums . len ();
150
- while left < right {
151
- let mid = left + (right - left ) / 2 ;
152
- match nums [mid ]. cmp (& target ) {
153
- Ordering :: Less => {
154
- left = mid + 1 ;
155
- }
156
- Ordering :: Greater => {
157
- right = mid ;
158
- }
159
- Ordering :: Equal => {
160
- return mid as i32 ;
161
- }
165
+ let mut l : usize = 0 ;
166
+ let mut r : usize = nums . len ();
167
+ while l < r {
168
+ let mid = (l + r ) >> 1 ;
169
+ if nums [mid ] >= target {
170
+ r = mid ;
171
+ } else {
172
+ l = mid + 1 ;
162
173
}
163
174
}
164
- left as i32
175
+ l as i32
165
176
}
166
177
}
167
178
```
@@ -175,20 +186,44 @@ impl Solution {
175
186
* @return {number}
176
187
*/
177
188
var searchInsert = function (nums , target ) {
178
- let left = 0 ;
179
- let right = nums .length ;
180
- while (left < right) {
181
- const mid = (left + right) >> 1 ;
189
+ let [l, r] = [0 , nums .length ];
190
+ while (l < r) {
191
+ const mid = (l + r) >> 1 ;
182
192
if (nums[mid] >= target) {
183
- right = mid;
193
+ r = mid;
184
194
} else {
185
- left = mid + 1 ;
195
+ l = mid + 1 ;
186
196
}
187
197
}
188
- return left ;
198
+ return l ;
189
199
};
190
200
```
191
201
202
+ #### PHP
203
+
204
+ ``` php
205
+ class Solution {
206
+ /**
207
+ * @param Integer[] $nums
208
+ * @param Integer $target
209
+ * @return Integer
210
+ */
211
+ function searchInsert($nums, $target) {
212
+ $l = 0;
213
+ $r = count($nums);
214
+ while ($l < $r) {
215
+ $mid = $l + $r >> 1;
216
+ if ($nums[$mid] >= $target) {
217
+ $r = $mid;
218
+ } else {
219
+ $l = $mid + 1;
220
+ }
221
+ }
222
+ return $l;
223
+ }
224
+ }
225
+ ```
226
+
192
227
<!-- tabs: end -->
193
228
194
229
<!-- solution: end -->
@@ -241,29 +276,6 @@ func searchInsert(nums []int, target int) int {
241
276
}
242
277
```
243
278
244
- #### PHP
245
-
246
- ``` php
247
- class Solution {
248
- /**
249
- * @param integer[] $nums
250
- * @param integer $target
251
- * @return integer
252
- */
253
-
254
- function searchInsert($nums, $target) {
255
- $key = array_search($target, $nums);
256
- if ($key !== false) {
257
- return $key;
258
- }
259
-
260
- $nums[] = $target;
261
- sort($nums);
262
- return array_search($target, $nums);
263
- }
264
- }
265
- ```
266
-
267
279
<!-- tabs: end -->
268
280
269
281
<!-- solution: end -->
0 commit comments