aa
This commit is contained in:
@@ -741,7 +741,13 @@ func (a *API) SubmitBasic(updateBasicParam *UpdateBasicParam) (vendorStoreID int
|
||||
"requestId": reqID,
|
||||
}, true)
|
||||
if err == nil {
|
||||
vendorStoreID = utils.MustInterface2Int64(result["data"])
|
||||
if result != nil {
|
||||
if result["data"] != nil{
|
||||
vendorStoreID = utils.MustInterface2Int64(result["data"])
|
||||
}else{
|
||||
err = fmt.Errorf("err %s", result["msg"])
|
||||
}
|
||||
}
|
||||
}
|
||||
return vendorStoreID, err
|
||||
}
|
||||
|
||||
@@ -226,9 +226,168 @@ func TestUpdateDeliveryPromise(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestUploadImageNew(t *testing.T) {
|
||||
bkey, _ := base64.StdEncoding.DecodeString("EjTgnEa377fEcgzlQUbcgTzxPNznRjpOuSPgQAwv9aA" + "=")
|
||||
block, _ := aes.NewCipher(bkey)
|
||||
fmt.Println(bkey, block)
|
||||
//dp[m][n] = dp[m-1][n] + dp[m][n-1]
|
||||
fmt.Println(myAtoi("21A"))
|
||||
}
|
||||
|
||||
func myAtoi(s string) (r int) {
|
||||
abs, sign, i, n := 0, 1, 0, len(s)
|
||||
for i < n && s[i] == ' ' {
|
||||
i++
|
||||
}
|
||||
if i < n {
|
||||
if s[i] == '-' {
|
||||
sign = -1
|
||||
i++
|
||||
} else if s[i] == '+' {
|
||||
sign = 1
|
||||
i++
|
||||
}
|
||||
}
|
||||
for i < n && s[i] >= '0' && s[i] <= '9' {
|
||||
abs = 10*abs + int(s[i]-'0') //字节 byte '0' == 48
|
||||
if sign*abs < math.MinInt32 { //整数超过 32 位有符号整数范围
|
||||
return math.MinInt32
|
||||
} else if sign*abs > math.MaxInt32 {
|
||||
return math.MaxInt32
|
||||
}
|
||||
i++
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func minCostClimbingStairs(cost []int) int {
|
||||
min := func(a, b int) int {
|
||||
if a < b {
|
||||
return a
|
||||
}
|
||||
return b
|
||||
}
|
||||
var dp = make([]int, len(cost))
|
||||
dp[0] = 0
|
||||
dp[1] = 0
|
||||
for i := 2; i < len(cost); i++ {
|
||||
dp[i] = min(dp[i-1]+cost[i], dp[i-2]+cost[i-1])
|
||||
}
|
||||
return dp[len(cost)]
|
||||
}
|
||||
|
||||
func climbStairs(n int) int {
|
||||
a, b, c := 0, 0, 1
|
||||
for i := 1; i < n+1; i++ {
|
||||
a = b
|
||||
b = c
|
||||
c = a + b
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
//leetcode 1876
|
||||
func countGoodSubstrings(s string) int {
|
||||
if len(s) < 3 {
|
||||
return 0
|
||||
}
|
||||
count := 0
|
||||
a, b, c := s[0:1], s[1:2], s[2:3]
|
||||
for i := 3; i < len(s)+1; i++ {
|
||||
if a != b && b != c && a != c {
|
||||
count++
|
||||
}
|
||||
if i == len(s) {
|
||||
break
|
||||
}
|
||||
a = b
|
||||
b = c
|
||||
c = s[i : i+1]
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
||||
//T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
|
||||
func tribonacci(n int) int {
|
||||
if n == 0 || n == 1 {
|
||||
return n
|
||||
}
|
||||
if n == 2 {
|
||||
return 1
|
||||
}
|
||||
var tris = make([]int, n+1)
|
||||
tris[0] = 0
|
||||
tris[1] = 1
|
||||
tris[2] = 1
|
||||
for i := 3; i < n+1; i++ {
|
||||
tris[i] = tris[i-1] + tris[i-2] + tris[i-3]
|
||||
}
|
||||
return tris[n]
|
||||
}
|
||||
|
||||
func fib(n int) (result int) {
|
||||
//if n == 0 || n == 1 {
|
||||
// return n
|
||||
//}
|
||||
//var fibs = make([]int, n+1)
|
||||
//fibs[0] = 0
|
||||
//fibs[1] = 1
|
||||
//for i := 2; i < n+1; i++ {
|
||||
// fibs[i] = fibs[i-1] + fibs[i-2]
|
||||
//}
|
||||
//return fibs[n]
|
||||
if n == 0 || n == 1 {
|
||||
return n
|
||||
}
|
||||
a, b, c := 0, 0, 1
|
||||
for i := 2; i < n+1; i++ {
|
||||
a = b
|
||||
b = c
|
||||
c = a + b
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
//经典dp
|
||||
func dp2(m, n int) (result int) {
|
||||
var dp = make([][]int, m)
|
||||
for i := 0; i < m; i++ {
|
||||
dp[i] = make([]int, n)
|
||||
for j := 0; j < n; j++ {
|
||||
if i == 0 || j == 0 {
|
||||
dp[i][j] = 1
|
||||
} else {
|
||||
dp[i][j] = dp[i-1][j] + dp[i][j-1]
|
||||
}
|
||||
}
|
||||
}
|
||||
return dp[m-1][n-1]
|
||||
}
|
||||
|
||||
func a(n int) (ans int) {
|
||||
const mod int = 1e9 + 7
|
||||
dp := make([][2][3]int, n+1) // 三个维度分别表示:长度,A 的数量,结尾连续 L 的数量
|
||||
dp[0][0][0] = 1
|
||||
for i := 1; i <= n; i++ {
|
||||
// 以 P 结尾的数量
|
||||
for j := 0; j <= 1; j++ {
|
||||
for k := 0; k <= 2; k++ {
|
||||
dp[i][j][0] = (dp[i][j][0] + dp[i-1][j][k]) % mod
|
||||
}
|
||||
}
|
||||
// 以 A 结尾的数量
|
||||
for k := 0; k <= 2; k++ {
|
||||
dp[i][1][0] = (dp[i][1][0] + dp[i-1][0][k]) % mod
|
||||
}
|
||||
// 以 L 结尾的数量
|
||||
for j := 0; j <= 1; j++ {
|
||||
for k := 1; k <= 2; k++ {
|
||||
dp[i][j][k] = (dp[i][j][k] + dp[i-1][j][k-1]) % mod
|
||||
}
|
||||
}
|
||||
}
|
||||
for j := 0; j <= 1; j++ {
|
||||
for k := 0; k <= 2; k++ {
|
||||
ans = (ans + dp[n][j][k]) % mod
|
||||
}
|
||||
}
|
||||
return ans
|
||||
}
|
||||
|
||||
func checkRecord(s string) bool {
|
||||
|
||||
Reference in New Issue
Block a user