From 8547e55f43fbdc77fb327ebac51ad612f99bee13 Mon Sep 17 00:00:00 2001 From: Sandy Date: Mon, 10 Dec 2018 16:48:38 +0800 Subject: [PATCH 1/3] Update remove_element.go --- remove_element/remove_element.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/remove_element/remove_element.go b/remove_element/remove_element.go index 1765abf..408ac94 100644 --- a/remove_element/remove_element.go +++ b/remove_element/remove_element.go @@ -1,13 +1,13 @@ package remove_element func removeElement(nums []int, val int) int { - start := 0 - for i := 0; i < len(nums); i++ { - if nums[i] == val { - continue - } - nums[start] = nums[i] - start++ - } - return start + l := 0 + for _, v := range nums { + if v != val { + nums[l] = v + l++ + } + } + + return l } From 230388b0835578bd555c0f9e9d6c0532e60347d0 Mon Sep 17 00:00:00 2001 From: Sandy Date: Fri, 14 Dec 2018 11:38:36 +0800 Subject: [PATCH 2/3] Update valid_parentheses.go --- valid_parentheses/valid_parentheses.go | 67 +++++++++----------------- 1 file changed, 22 insertions(+), 45 deletions(-) diff --git a/valid_parentheses/valid_parentheses.go b/valid_parentheses/valid_parentheses.go index 3de3451..54151ed 100644 --- a/valid_parentheses/valid_parentheses.go +++ b/valid_parentheses/valid_parentheses.go @@ -1,49 +1,26 @@ package valid_parentheses func isValid(s string) bool { - if len(s)%2 != 0 { - return false - } - left := map[byte]struct{}{ - '(': struct{}{}, - '[': struct{}{}, - '{': struct{}{}, - } - right := map[byte]struct{}{ - ')': struct{}{}, - ']': struct{}{}, - '}': struct{}{}, - } - bytes := []byte(s) - stack := []byte{} - for i := range bytes { - if _, ok := left[bytes[i]]; ok { - stack = append(stack, bytes[i]) - } else if _, ok = right[bytes[i]]; ok { - if len(stack) == 0 { - return false - } - switch stack[len(stack)-1] { - case '(': - if bytes[i] != ')' { - return false - } - case '[': - if bytes[i] != ']' { - return false - } - case '{': - if bytes[i] != '}' { - return false - } - } - stack = stack[:len(stack)-1] - } else { - return false - } - } - if len(stack) == 0 { - return true - } - return false + m := map[rune]rune{ + '(': ')', + '[': ']', + '{': '}', + } + stack := make([]rune, len(s)) + top := 0 + for _, c := range s { + switch c { + case '(', '[', '{': + stack[top] = m[c] + top++ + case ')', ']', '}': + if top > 0 && stack[top-1] == c { + top-- + } else { + return false + } + } + } + + return top == 0 } From d5849f387720ddee27e7daefd049e9a2b5977b9c Mon Sep 17 00:00:00 2001 From: "Jithin.S" Date: Mon, 9 Dec 2019 23:36:56 +0530 Subject: [PATCH 3/3] changed for loop condition --- plus_one/plus_one.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plus_one/plus_one.go b/plus_one/plus_one.go index ab91ce3..b9711b7 100644 --- a/plus_one/plus_one.go +++ b/plus_one/plus_one.go @@ -2,7 +2,7 @@ package plus_one func plusOne(digits []int) []int { carry := 1 - for i := len(digits); i >= 0; i++ { + for i := len(digits)-1; i >= 0; i-- { sum := carry + digits[i] if sum < 10 { digits[i] = sum