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

[pull] master from youngyangyang04:master #353

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 6 commits into AlgorithmAndLeetCode:master from youngyangyang04:master
Sep 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
32 changes: 32 additions & 0 deletions problems/0035.搜索插入位置.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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>

2 changes: 1 addition & 1 deletion problems/图论广搜理论基础.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

在[深度优先搜索](https://programmercarl.com/图论深搜理论基础.html)的讲解中,我们就讲过深度优先搜索和广度优先搜索的区别。

广搜(bfs)是一圈一圈的搜索过程,和深搜(dfs)是一条路跑到黑然后在回溯
广搜(bfs)是一圈一圈的搜索过程,和深搜(dfs)是一条路跑到黑然后再回溯

## 广搜的使用场景

Expand Down

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