mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
@ -329,6 +329,67 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### C#
|
||||||
|
|
||||||
|
```c#
|
||||||
|
public int[] SearchRange(int[] nums, int target) {
|
||||||
|
|
||||||
|
var leftBorder = GetLeftBorder(nums, target);
|
||||||
|
var rightBorder = GetRightBorder(nums, target);
|
||||||
|
|
||||||
|
if (leftBorder == -2 || rightBorder == -2) {
|
||||||
|
return new int[] {-1, -1};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rightBorder - leftBorder >=2) {
|
||||||
|
return new int[] {leftBorder + 1, rightBorder - 1};
|
||||||
|
}
|
||||||
|
|
||||||
|
return new int[] {-1, -1};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetLeftBorder(int[] nums, int target){
|
||||||
|
var left = 0;
|
||||||
|
var right = nums.Length - 1;
|
||||||
|
var leftBorder = -2;
|
||||||
|
|
||||||
|
while (left <= right) {
|
||||||
|
var mid = (left + right) / 2;
|
||||||
|
|
||||||
|
if (target <= nums[mid]) {
|
||||||
|
right = mid - 1;
|
||||||
|
leftBorder = right;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
left = mid + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return leftBorder;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetRightBorder(int[] nums, int target){
|
||||||
|
var left = 0;
|
||||||
|
var right = nums.Length - 1;
|
||||||
|
var rightBorder = -2;
|
||||||
|
|
||||||
|
while (left <= right) {
|
||||||
|
var mid = (left + right) / 2;
|
||||||
|
|
||||||
|
if (target >= nums[mid]) {
|
||||||
|
left = mid + 1;
|
||||||
|
rightBorder = left;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
right = mid - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return rightBorder;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Python
|
### Python
|
||||||
|
@ -258,6 +258,37 @@ public int searchInsert(int[] nums, int target) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### C#
|
||||||
|
|
||||||
|
```go
|
||||||
|
public int SearchInsert(int[] nums, int target) {
|
||||||
|
|
||||||
|
var left = 0;
|
||||||
|
var right = nums.Length - 1;
|
||||||
|
|
||||||
|
while (left <= right) {
|
||||||
|
|
||||||
|
var curr = (left + right) / 2;
|
||||||
|
|
||||||
|
if (nums[curr] == target)
|
||||||
|
{
|
||||||
|
return curr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target > nums[curr]) {
|
||||||
|
left = curr + 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
right = curr - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return left;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Golang
|
### Golang
|
||||||
|
|
||||||
```go
|
```go
|
||||||
@ -500,3 +531,4 @@ int searchInsert(int* nums, int numsSize, int target){
|
|||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user