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