Procházet zdrojové kódy

add 'Remove Element'

tangs před 5 roky
rodič
revize
bc73a20813
1 změnil soubory, kde provedl 29 přidání a 0 odebrání
  1. 29 0
      tags/array/removeElement/main.go

+ 29 - 0
tags/array/removeElement/main.go

@@ -0,0 +1,29 @@
+package main
+
+import "fmt"
+
+func main() {
+	var nums []int
+	var val int
+
+	nums, val = []int{3, 2, 2, 3}, 2
+	fmt.Println(removeElement(nums, val), nums)
+
+	nums, val = []int{2, 3, 2, 2, 3}, 2
+	fmt.Println(removeElement(nums, val), nums)
+
+	nums, val = []int{0, 1, 2, 2, 3, 0, 4, 2}, 2
+	fmt.Println(removeElement(nums, val), nums)
+}
+
+func removeElement(nums []int, val int) int {
+	var cursor int = 0
+	for i := 0; i < len(nums); i++ {
+		if nums[i] == val {
+			continue
+		}
+		nums[cursor] = nums[i]
+		cursor++
+	}
+	return cursor
+}