From 954c3a4ecfa2330264f781c08974ffc18bf26930 Mon Sep 17 00:00:00 2001 From: fw_qaq <82551626+jack-zhang-1314@users.noreply.github.com> Date: 2022年9月18日 09:51:08 +0800 Subject: [PATCH] =?UTF-8?q?Update=200034.=E5=9C=A8=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E4=B8=AD=E6=9F=A5=E6=89=BE=E5=85=83=E7=B4=A0?= =?UTF-8?q?=E7=9A=84=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=92=8C=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E4=BD=8D=E7=BD=AE.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rust --- ...00344円270円252円344円275円215円347円275円256円.md" | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git "a/problems/0034.345円234円250円346円216円222円345円272円217円346円225円260円347円273円204円344円270円255円346円237円245円346円211円276円345円205円203円347円264円240円347円232円204円347円254円254円344円270円200円344円270円252円345円222円214円346円234円200円345円220円216円344円270円200円344円270円252円344円275円215円347円275円256円.md" "b/problems/0034.345円234円250円346円216円222円345円272円217円346円225円260円347円273円204円344円270円255円346円237円245円346円211円276円345円205円203円347円264円240円347円232円204円347円254円254円344円270円200円344円270円252円345円222円214円346円234円200円345円220円216円344円270円200円344円270円252円344円275円215円347円275円256円.md" index 8b12845e4d..31ed4f7f90 100644 --- "a/problems/0034.345円234円250円346円216円222円345円272円217円346円225円260円347円273円204円344円270円255円346円237円245円346円211円276円345円205円203円347円264円240円347円232円204円347円254円254円344円270円200円344円270円252円345円222円214円346円234円200円345円220円216円344円270円200円344円270円252円344円275円215円347円275円256円.md" +++ "b/problems/0034.345円234円250円346円216円222円345円272円217円346円225円260円347円273円204円344円270円255円346円237円245円346円211円276円345円205円203円347円264円240円347円232円204円347円254円254円344円270円200円344円270円252円345円222円214円346円234円200円345円220円216円344円270円200円344円270円252円344円275円215円347円275円256円.md" @@ -389,6 +389,57 @@ class Solution: return [leftBorder, rightBorder] ``` +### Rust + +```rust + +impl Solution { + pub fn search_range(nums: Vec, target: i32) -> Vec { + let right_border = Solution::get_right_border(&nums, target); + let left_border = Solution::get_left_border(&nums, target); + if right_border == -2 || left_border == -2 { + return vec![-1, -1]; + } + if right_border - left_border> 0 { + return vec![left_border, right_border - 1]; + } + vec![-1, -1] + } + + pub fn get_right_border(nums: &Vec, target: i32) -> i32 { + let mut left = 0; + let mut right = nums.len(); + let mut right_border: i32 = -2; + while left < right { + let mid = (left + right) / 2; + if nums[mid]> target { + right = mid; + } else { + left = mid + 1; + right_border = left as i32; + } + } + right_border as i32 + } + + pub fn get_left_border(nums: &Vec, target: i32) -> i32 { + let mut left = 0; + let mut right = nums.len(); + let mut left_border: i32 = -2; + while left < right { + let mid = (left + right) / 2; + if nums[mid]>= target { + right = mid; + left_border = right as i32; + } else { + left = mid + 1; + } + } + left_border as i32 + } +} +``` + ### Go ```go

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