Merge pull request #2285 from JunqiaoDuan/master

Update 0035.搜索插入位置.md
This commit is contained in:
程序员Carl
2023-09-28 09:28:50 +08:00
committed by GitHub
2 changed files with 93 additions and 0 deletions

View File

@ -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

View File

@ -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
```go
@ -500,3 +531,4 @@ int searchInsert(int* nums, int numsSize, int target){
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>