From 6d9303e27d6318923c1f4622920d2d1193cd909f Mon Sep 17 00:00:00 2001 From: "qingyi.liu" Date: Tue, 22 Jun 2021 11:37:04 +0800 Subject: [PATCH] 0763 golang --- problems/0763.划分字母区间.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/problems/0763.划分字母区间.md b/problems/0763.划分字母区间.md index 1e2fcc03..b36e00b7 100644 --- a/problems/0763.划分字母区间.md +++ b/problems/0763.划分字母区间.md @@ -128,6 +128,33 @@ class Solution: Go: +```go + +func partitionLabels(s string) []int { + var res []int; + var marks [26]int; + size, left, right := len(s), 0, 0; + for i := 0; i < size; i++ { + marks[s[i] - 'a'] = i; + } + for i := 0; i < size; i++ { + right = max(right, marks[s[i] - 'a']); + if i == right { + res = append(res, right - left + 1); + left = i + 1; + } + } + return res; +} + +func max(a, b int) int { + if a < b { + a = b; + } + return a; +} +``` + Javascript: ```Javascript var partitionLabels = function(s) {