From 4ed7da80c08a51cc79cbc0aa987d41f6a57da5fe Mon Sep 17 00:00:00 2001 From: Steve <841532108@qq.com> Date: Fri, 31 Dec 2021 16:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200704.=E4=BA=8C=E5=88=86?= =?UTF-8?q?=E6=9F=A5=E6=89=BE.md=20Typescript=20=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0704.二分查找.md | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/problems/0704.二分查找.md b/problems/0704.二分查找.md index 689c0633..cc7d7de5 100644 --- a/problems/0704.二分查找.md +++ b/problems/0704.二分查找.md @@ -326,6 +326,46 @@ var search = function(nums, target) { }; ``` +**TypeScript** + +(版本一)左闭右闭区间 + +```typescript +function search(nums: number[], target: number): number { + let left: number = 0, right: number = nums.length - 1; + while (left <= right) { + let mid: number = left + Math.floor((right - left) / 2); + if (nums[mid] > target) { + right = mid - 1; + } else if (nums[mid] < target) { + left = mid + 1; + } else { + return mid; + } + } + return -1; +}; +``` + +(版本二)左闭右开区间 + +```typescript +function search(nums: number[], target: number): number { + let left: number = 0, right: number = nums.length; + while (left < right) { + let mid: number = left + Math.floor((right - left) / 2); + if (nums[mid] > target) { + right = mid; + } else if (nums[mid] < target) { + left = mid + 1; + } else { + return mid; + } + } + return -1; +}; +``` + **Ruby:** ```ruby