dengxinyi 6 年之前
父節點
當前提交
3d6ca7797b
共有 2 個文件被更改,包括 39 次插入0 次删除
  1. 24 0
      medium/467.unique-substrings-in-wraparound-string.go
  2. 15 0
      medium/470.implement-rand10-using-rand7.go

+ 24 - 0
medium/467.unique-substrings-in-wraparound-string.go

@@ -0,0 +1,24 @@
+func findSubstringInWraproundString(p string) (cnt int) {
+	n := len(p)
+	if n == 0 {
+		return
+	}
+	dp := make([]int, 256)
+	runes := []rune(p)
+	l := 1
+	dp[runes[0]] = 1
+	for i := 1; i < n; i++ {
+		if runes[i] != rune((runes[i-1]-'a'+1)%26+'a') {
+			l = 1
+		} else {
+			l++
+		}
+		if dp[runes[i]] < l {
+			dp[runes[i]] = l
+		}
+	}
+	for i := 'a'; i <= 'z'; i++ {
+		cnt += dp[i]
+	}
+	return
+}

+ 15 - 0
medium/470.implement-rand10-using-rand7.go

@@ -0,0 +1,15 @@
+func rand10slow() int {
+	for {
+		if r49 := 7*(rand7()-1) + rand7(); r49 <= 40 {
+			return r49%10 + 1
+		}
+	}
+}
+
+func rand10() int {
+	for {
+		if r343 := 49*(rand7()-1) + 7*(rand7()-1) + rand7(); r343 <= 340 {
+			return r343%10 + 1
+		}
+	}
+}