wolves hai 2 semanas
pai
achega
de39ce466a
Modificáronse 1 ficheiros con 36 adicións e 0 borrados
  1. 36 0
      26/03/1415.go

+ 36 - 0
26/03/1415.go

@@ -0,0 +1,36 @@
+package main
+
+import "math"
+
+func getHappyString(n int, k int) string {
+	bt := int(math.Pow(2.0, float64(n-1)))
+	maxK := 3 * bt
+	if k > maxK {
+		return ""
+	}
+	slice := []byte{'a', 'b', 'c'}
+	sl := [][]byte{{'b', 'c'}, {'a', 'c'}, {'a', 'b'}}
+	res := make([]byte, 0, n)
+	if k <= bt {
+		res = append(res, slice[0])
+		bt = 0
+	} else if k > bt && k <= 2*bt {
+		res = append(res, slice[1])
+	} else {
+		res = append(res, slice[2])
+		bt *= 2
+	}
+	for i := 1; i < n; i++ {
+		temp := res[i-1]
+		i1 := int(temp - 'a')
+		bti := int(math.Pow(2.0, float64(n-i-1)))
+		if k <= bt+bti {
+			res = append(res, sl[i1][0])
+		} else {
+			res = append(res, sl[i1][1])
+			bt += bti
+		}
+	}
+
+	return string(res)
+}

备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。