Skip to content

Commit efec425

Browse files
Merge pull request youngyangyang04#977 from xiaofei-2020/master
添加 0704.二分查找.md Typescript 版本
2 parents e8046b6 + 67a22c6 commit efec425

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

problems/0704.二分查找.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,6 @@ func search(nums []int, target int) int {
284284
* @param {number} target
285285
* @return {number}
286286
*/
287-
/**
288287
var search = function(nums, target) {
289288
let left = 0, right = nums.length - 1;
290289
// 使用左闭右闭区间
@@ -326,6 +325,46 @@ var search = function(nums, target) {
326325
};
327326
```
328327

328+
**TypeScript**
329+
330+
(版本一)左闭右闭区间
331+
332+
```typescript
333+
function search(nums: number[], target: number): number {
334+
let left: number = 0, right: number = nums.length - 1;
335+
while (left <= right) {
336+
let mid: number = left + Math.floor((right - left) / 2);
337+
if (nums[mid] > target) {
338+
right = mid - 1;
339+
} else if (nums[mid] < target) {
340+
left = mid + 1;
341+
} else {
342+
return mid;
343+
}
344+
}
345+
return -1;
346+
};
347+
```
348+
349+
(版本二)左闭右开区间
350+
351+
```typescript
352+
function search(nums: number[], target: number): number {
353+
let left: number = 0, right: number = nums.length;
354+
while (left < right) {
355+
let mid: number = left + Math.floor((right - left) / 2);
356+
if (nums[mid] > target) {
357+
right = mid;
358+
} else if (nums[mid] < target) {
359+
left = mid + 1;
360+
} else {
361+
return mid;
362+
}
363+
}
364+
return -1;
365+
};
366+
```
367+
329368
**Ruby:**
330369

331370
```ruby

0 commit comments

Comments
 (0)