Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4b6d5d4

Browse files
authored
feat: add solutions to lc problem: No.0035 (doocs#3194)
1 parent 412c774 commit 4b6d5d4

File tree

10 files changed

+238
-207
lines changed

10 files changed

+238
-207
lines changed

‎solution/0000-0099/0035.Search Insert Position/README.md‎

Lines changed: 84 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -74,31 +74,31 @@ tags:
7474
```python
7575
class Solution:
7676
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
8080
if nums[mid] >= target:
81-
right = mid
81+
r = mid
8282
else:
83-
left = mid + 1
84-
return left
83+
l = mid + 1
84+
return l
8585
```
8686

8787
#### Java
8888

8989
```java
9090
class Solution {
9191
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;
9595
if (nums[mid] >= target) {
96-
right = mid;
96+
r = mid;
9797
} else {
98-
left = mid + 1;
98+
l = mid + 1;
9999
}
100100
}
101-
return left;
101+
return l;
102102
}
103103
}
104104
```
@@ -109,15 +109,16 @@ class Solution {
109109
class Solution {
110110
public:
111111
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+
}
119120
}
120-
return left;
121+
return l;
121122
}
122123
};
123124
```
@@ -126,42 +127,52 @@ public:
126127
127128
```go
128129
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
132133
if nums[mid] >= target {
133-
right = mid
134+
r = mid
134135
} else {
135-
left = mid + 1
136+
l = mid + 1
136137
}
137138
}
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;
139157
}
140158
```
141159

142160
#### Rust
143161

144162
```rust
145-
use std::cmp::Ordering;
146163
impl Solution {
147164
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;
162173
}
163174
}
164-
left as i32
175+
l as i32
165176
}
166177
}
167178
```
@@ -175,20 +186,44 @@ impl Solution {
175186
* @return {number}
176187
*/
177188
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;
182192
if (nums[mid] >= target) {
183-
right = mid;
193+
r = mid;
184194
} else {
185-
left = mid + 1;
195+
l = mid + 1;
186196
}
187197
}
188-
return left;
198+
return l;
189199
};
190200
```
191201

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+
192227
<!-- tabs:end -->
193228

194229
<!-- solution:end -->
@@ -241,29 +276,6 @@ func searchInsert(nums []int, target int) int {
241276
}
242277
```
243278

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-
267279
<!-- tabs:end -->
268280

269281
<!-- solution:end -->

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /